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.

FieldDescriptionExample valueRequired?
participant_codeThe end user’s participant codeCUST01Yes
permissionsThe array of permissions granted to the returned JSON Web Token (JWT)["crypto-deposits"]Yes
deposit_details.account_labelThe account label to credit the deposit to. Defaults to generalgeneralNo

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.


Did this page help you?