Crypto Deposits SDK Guide
Enable users to deposit crypto into your app without conversion to fiat
Accept digital-asset deposits into an end user’s zerohash account from a connected exchange or wallet, or through a manual transfer.
How the flow works
Your AUTH configuration determines which deposit paths the SDK presents:
- AUTH disabled - The end user selects an asset and network, then sends funds to a zerohash deposit address
- AUTH enabled - The end user deposits from a connected exchange or wallet, or chooses Deposit manually to open the same manual flow
The SDK shows Deposit manually when Classic Transfer is enabled in your AUTH configuration. This setting is shared with the Fund SDK.
When the end user chooses Deposit manually, the SDK sends onEvent with the type crypto-deposits.manual_deposit_started and empty data.
Initialize the Crypto Deposits flow
Request an access token
Generate an access token with Generate a client access token and the crypto-deposits permission. Before requesting the token, confirm that the end user’s status is approved.
| Field | Description | Example value | Required? |
|---|---|---|---|
participant_code | The end user’s participant code | CUST01 | Yes |
permissions | The array of permissions granted to the returned JSON Web Token (JWT) | ["crypto-deposits"] | Yes |
deposit_details.account_label | The account label to credit the deposit to. Defaults to general | general | No |
Invoke the Crypto Deposits SDK
Follow the Crypto Deposits SDK implementation guide to initialize and open the SDK.
Manual deposit
The end user selects the asset and network. The SDK displays the zerohash deposit address on the same screen, with a QR code and a copy button.
Send only the selected asset on the selected network.Funds sent on another network, or in an unsupported token, may be lost.
Track deposit status
Consume deposit status webhooks to track deposits. The reference includes webhook schemas and sample payloads.
Query deposits
Call Get crypto deposit by ID to query deposit events and display digital-asset deposits in your application’s transaction history.
Deposit returns
IMPORTANT: You cannot rely on the deposit’s source address as the return destination. Blockchain transactions are not inherently bidirectional, and returning funds to the sender address may result in loss of funds or failed deliveries.
Some Platforms may choose to pair their zerohash integration with their own transaction monitoring tools. In situations where zerohash accepts a deposit, but the Platform’s monitoring logic flags and rejects it, the Platform may opt to return the deposit by using the Withdrawals endpoint.
The required flow is to always request and confirm a return address directly from the customer before initiating the return.
Please speak to a zerohash solutions engineer for guidance if interested in this flow.
Updated 4 days ago