Stablecoin Deposits
This page outlines how to deposit stablecoins (USDC/USDT) into your Caliza account.
Step 1: Get Wallet Details
Retrieve the beneficiary's wallet address using the following endpoint:
curl 'https://api.sandbox.caliza.com/core-api/v1/beneficiaries/{{beneficiaryId}}/wallets?chain=ETH' \
--header 'Authorization: Bearer YOUR_TOKEN'The response returns the wallet address for the specified chain:
{
"walletAddress": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F"
}The available chain is ETH.
Step 2: Send Stablecoins
From your crypto provider, send the stablecoins (USDC/USDT) to the wallet address returned in the previous step. Make sure the amount and network match your intended deposit.
Step 3: Wait for Confirmation
Once the funds are received and confirmed, Caliza will notify you via the PAYMENT_IN_COMPLETED webhook event. You can also check the transaction status via the transactions endpoint.
DeprecatedThe following flow is deprecated. Please use the new flow above.
Step 1: Simulate the Deposit
Before moving funds, you must simulate the deposit. This step validates the currency pair and the funding method. Use the Simulate transaction or payment endpoint to do so:
curl --location 'https://api.sandbox.caliza.com/core-api/v1/simulations' \ --header 'Authorization: Bearer YOUR_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "beneficiaryId": "{{beneficiaryId}}", "from": { "value": 10, "currencyCode": "USDC" }, "to": { "currencyCode": "USDC" }, "fundingMethod": "ETH" }'The API returns a simulation object. Copy the
idfield (Simulation ID) to proceed.Step 2: Get the Funding Wallet
Create the transaction record using the simulation ID. This step is required to retrieve the specific wallet address where the funds must be sent.
curl --location 'https://api.sandbox.caliza.com/core-api/v1/transactions' \ --header 'Authorization: Bearer YOUR_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "simulationId": "{{simulationId}}", "beneficiaryIp": "127.0.0.1" }'Look for the
blockchainInfoobject. ThefundingWalletfield contains the destination address.Step 3: Transfer Funds (On-Chain)
Perform the actual crypto transfer using your external wallet (for example, MetaMask, Ledger, or an Exchange).
- Destination: The address found in
blockchainInfo.fundingWallet.- Amount: Must match the
from.valuespecified in the simulation.- Network: Make sure you use the network corresponding to the
fundingMethod(for example, Ethereum forETH).Once the transfer is broadcast to the network, copy the Transaction Hash (TXID).
Step 4: Attach Transaction Hash
Send a PUT request to the
/v1/transactions/{id}/depositTransactionHashto link the blockchain transaction hash to the Caliza transaction ID.curl --location --request PUT 'https://api.sandbox.caliza.com/core-api/v1/transactions/{{transaction_id}}/depositTransactionHash' \ --header 'Authorization: Bearer YOUR_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "transactionHash": "0x_YOUR_BLOCKCHAIN_TX_HASH" }'After attaching the hash, Caliza monitors the blockchain for confirmations. Once confirmed, the transaction status updates to
SUCCEEDED.
Related Articles
Updated 6 days ago
