GuidesRecipesAPI ReferenceChangelog
Guides

On-Chain Crypto Deposits

How do I generate deposit addresses and receive on-chain transfers?

Overview

The Cybrid Platform interacts with real blockchains for both sandbox and production banks when generating on-chain addresses and receiving deposits.

  • Sandbox banks: addresses are created on the blockchain's development network (devnet/testnet).
  • Production banks: addresses are created on the blockchain's mainnet.
❗️

Solana token deposit addresses require additional setup

The instructions below do not apply to generating deposit addresses for tokens (e.g., USDC) on Solana. Solana requires "rent" to generate a token deposit address in both production and sandbox.

Production: Rent is paid by the Cybrid Platform automatically and invoiced at the end of the month — 0.01 SOL for each token deposit address generated.

Sandbox: You must fund rent yourself. See the Solana sandbox deposit address guide. If you skip this, your deposit address remains in storing indefinitely.

Prerequisites

  • A customer with a verified identity (or a bank, for bank-level addresses)
  • A trading account for the asset (see Creating Platform Accounts)
  • The asset enabled on your bank

Step 1: Create a deposit address

Create a deposit address using POST /api/deposit_addresses:

{
  "account_guid": "account_guid"
}

The initial response:

{
  "created_at": "2025-07-31T11:27:28.628086Z",
  "updated_at": "2025-07-31T11:27:28.628086Z",
  "guid": "deposit_address_guid",
  "bank_guid": "bank_guid",
  "customer_guid": "customer_guid",
  "account_guid": "account_guid",
  "asset": "USDC",
  "state": "storing",
  "labels": null
}

See the full API reference.

Step 2: Poll until the address is created

Poll GET /api/deposit_addresses/{deposit_address_guid} until state transitions from storing to created. The created response includes the on-chain address field:

{
  "created_at": "2025-07-31T11:27:28.628086Z",
  "updated_at": "2025-07-31T11:27:32.102665Z",
  "guid": "deposit_address_guid",
  "bank_guid": "bank_guid",
  "customer_guid": "customer_guid",
  "account_guid": "account_guid",
  "asset": "USDC",
  "state": "created",
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f8C9c8",
  "format": "standard",
  "labels": null
}

Receive deposits

The address field is the on-chain destination. Any deposits sent to this address are automatically reconciled to the underlying trading account once on-chain confirmations finalize. The platform creates a crypto transfer record for each incoming deposit; monitor your transfers list to detect new inbound funds, or register for webhooks.

Sandbox behavior

For sandbox-specific behavior (devnet addresses, Solana rent setup, mock confirmations), see Sandbox Transfers.