ADK SDK Integration Guide

Leverage Auth with zerohash's SDKs to allow your users to seamlessly initiate on-chain deposits and withdrawals

Integration Overview

At a high-level, integration with the Auth product follows these steps:

  1. Configuration of platform & product, including retrieval of API key
  2. Authentication to retrieve client access token
  3. Instantiation of an Auth-compatible zerohash SDK, such as the Account Funding SDK
  4. Consumption of webhook events for transactional statuses & alerts

Pre-requisities & Setup

Configure Platform

Follow the steps in the Get Platform Access guide to receive your credentials.

Configure Auth

Your zerohash team can configure your Platform with the following settings:

  1. Supported assets: See supported assets here

  2. Transfer methods: There are three categories of transfer methods to choose from within the Auth network.

  3. public_key: A public key from a cryptographic key-pair is required for use in signature validation of API requests.

  4. Asset precision by network

    By default, Auth accepts transfer amounts at the full on-chain precision of the source asset (up to 18 decimal places for chains like Ethereum). If your platform's ledger, CLOB, or downstream accounting system supports fewer decimal places, this can result in sub-precision "dust" amounts on your side with no clean place to land.

    You can configure a maximum decimal precision per asset and network. Any Auth deposit or withdrawal submitted with more decimal places than the configured value is rejected with a 400 — the transfer is not silently truncated.

    Why you might want this:

    • Match Auth transfer precision to your internal ledger's precision, avoiding dust and reconciliation gaps

    • Enforce a tighter precision ceiling than the asset's native chain precision (e.g. cap ETH at 8 decimals when your ledger only tracks 8)

    1. Set different precision rules per asset — the configuration is per asset and network
  5. Per-participant exchange visibility (production QA)

    When you want to validate a new Auth integration in production before making it available to all of your users, you can restrict the exchange to a defined list of your participant codes. Only those participants will see the exchange in the Auth SDK menu; every other participant on your platform will not see it.

    Why you might want this:

    • Run end-to-end production tests against a new exchange with your QA participants before general availability
    • Progressively roll out a new exchange to specific user cohorts
    • Restrict a exchange for internal risk or compliance reasons

    How it works:

    You provide zerohash with the exchange and the list of participant codes that should retain access. Participants on the list see the exchange; all other participants do not. Once you're ready to make the exchange generally available, the restriction is removed and all participants see the exchange in their menu.

  6. Transaction limits

    The Auth configuration system is flexible and can accommodate many types of limit configurations. Notably, here are the most common:

    • Maximum and Minimum per-transaction limits: Define the smallest and largest allowable amounts (denominated in fiat) for a single transaction. Auth will enforce these limits for each individual transaction request.
    • Maximum daily limits: Set a cap on the total transaction volume allowed per user within a 24-hour period. This helps manage risk and comply with regulatory or internal policy requirements.

Configure Webhooks

Provide zerohash with the callback URL that Auth will emit event updates to. You can review webhook documentation along with supported event domains here.

Authentication

Authentication can be obtained to initialize a flow with Auth SDK begins with Generate a client access token. This request requires a participant_code from a successfully onboarded customer before the token can be minted. You can review our Onboarding solutions here.

Additionally, all API calls require HMAC signing as described in our API Authentication overview.

Integrating with Auth

Once Auth has been configured for your platform and desired product, you can use the existing integration guides.

The SDKs that currently support Auth are:

  1. Fund SDK - Integration Guide
  2. Withdrawal SDK - Integration Guide

Webhooks Reference

Webhooks for the Auth-supported products can be found here, or in the Webhooks Overview section.

  1. Account Funding Webhooks
  2. Deposit Webhooks


Did this page help you?