Enterprise Settlements No-Code Integration Guide

Fiat-to-stablecoin settlements with zero engineering effort

No-Code Solution

Companies that serve business customers (e.g., PSPs supporting merchants) can use the Enterprise Settlements No-Code Solution to convert fiat to stablecoins and settle funds on-chain to merchant-owned wallets without writing or maintaining any code. The end-to-end flow is still the same as the Enterprise Settlements API Solution, with no engineering work required.


1. Submit Merchant (KYB)

Companies that use this product will be called "Platforms". Platforms will be responsible for onboarding their Merchant customers to zerohash through the Client Portal.

Client Portal

  • As a Platform, before this step, you will have already gotten access to the Client Portal. Sign in and complete the 2FA
  • Once logged in, navigate to the top right and click New Participant - this is the first step to adding a new Merchant
  • From there, enter the Merchant's onboarding information (including the business information, control persons/beneficial owners and relevant documents).
  • Once the Merchant is submitted, they will be given a participant_code which is perpetually tied to the Merchant.

📘

Depending on the Platforms integration, Merchants will either be auto-approved (akin to a 'reliance model') or will be subject to a manual review


2. Fund float account

The Float Account is used to fund instant conversions of USD to stablecoins, as zerohash does not extend credit.

The Platform will fund the Float Account by sending fiat to the proper bank account, including the Platform's participant_code in the wire memos . This allows us to auto-credit the correct account when we receive the wire/ACH.


3. Whitelist Merchant destination addresses via Client Portal

This is a working section, consider these requirements fluid

Platforms can whitelist Merchant destination addresses via the zerohash Client Portal. Once logged in, make sure you select the correct Merchant from the top left drop-down - you'll want to make sure whichever address you whitelist is associated with the correct Merchant.

Instructions:

  • Select correct Merchant from top left drop-down
  • Go to Participant → Withdrawals
  • Select the asset you which to whitelist an address for (ie, USDC)
  • Click Create new account
  • Enter address details
  • One or two (depending on your security preferences) other account admin will need to approve the whitelisted address before it becomes approved

4. Initiate Transactions via SFTP

Stablecoin conversions and disbursements can be initiated with a successful file drop onto a dedicated SFTP server.

Secure File Transfer Protocol (SFTP) is a network protocol used for securely transferring files between systems. Each Platform has its own dedicated SFTP folder. Server details will be communicated to each Platform securely.

Working Directories

  • [platform]/sftp/in → Files uploaded from the Platform goes into the ‘in’ path.
  • [platform]/sftp/out → After processing ‘in’ files, zerohash will output a result file into ‘out’ path.

Initiating Settlements

  • Upload CSV file with the payouts details to the dedicated working directory: [platform]/sftp/in/settlement/{year}/{month}/{day}/{file_name}.csv
    • file_name is determined by the Platform. zerohash will use the same name when producing associated output files.
    • ⚠️ The maximum number of payouts (rows) allowed per batch file is 1000.
    • The following datapoints must be included in this order in the file. We will "fail" the file drop similar to a REST API call if these conditions are not met
Input Attribute NameExampleRequirements
reference_id16cbbdf1-cace-4591-8fe2-13c0b84fc21eInternal ID for the Platform's own reference. This must be unique and will be used for idempotency. (i.e., ensuring the same request is processed only once even if submitted multiple times)
participant_codeMERCH1Merchant's zerohash participant code. This must be a valid participant code associated with the Platform account
quoted_amount1000.00The fiat amount to be converted and withdrawn to the whitelisted wallet. Must be a valid number - All rows for that day must be cumulatively below the current Float Account balance
quoted_currencyUSDThe fiat asset being quoted. For now, only USD is supported.
conversion_currencyUSDC.BASEThe cryptocurrency to be used for the payout. Must be a valid asset that zerohash supports.
external_account_id3cc93b20-ee43-4877-8cdc-863e61829088The zerohash id for the whitelisted wallet, where funds will be withdrawn to. Must be an approved whitelisted address associated with the Merchant's zerohash participant code.

5. zerohash converts USD to stablecoins and sends stablecoins on-chain

Once a successful file upload takes place, zerohash will

  • Process the file, automatically and immediately converting USD to stablecoin.
  • Automatically and immediately payout the Conversion Asset on-chain to the destination address.
  • Produce an output file to the Platform's dedicated working directory: [platform]/sftp/out/settlement/{year}/{month}/{day}/{batch_id}.csv

The output file will includes same columns provided in the input file, in addition to:

Additional Output AttributesDescription
transaction_hashBlockchain transaction hash for the payout.
statusStatus associated with the payout.
status_reasonAssociated status reason, if relevant.

6. Complete end of day settlement (T+1)

It is a regulatory requirement of zerohash's for the Platform to perform settlement on a T+1 basis. For example, if a Platform executed $1,000,000 worth of Payouts on Monday, on Tuesday we expect a wire of $1,000,000 in order to consider Monday's settlement "closed".


7. View transaction activity

This is a working section, consider these requirements fluid

Platforms have the option to view Transaction activity via the Client Portal.

Instructions:

  • Go to Participant → Withdrawals
  • View the Withdrawal activity in the bottom [asset] Withdrawal Requests section