Quick Start Guide
Step 1 — Create a Deposit Account
A deposit account is a permanent container that holds one address per supported blockchain. Create one with a single API call.
curl -X POST https://confirmo.net/api/v3/deposits/crypto/accounts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"notifyUrl": "https://your-platform.com/webhooks/deposits",
"balanceAsset": "EUR",
"customerProfile": {
"type": "individual",
"profileId": "customer-unique-id-123",
"firstName": "Jane",
"lastName": "Doe",
"streetAddress": "Sheikh Zayed Road 1",
"city": "Dubai",
"country": "AE",
"postalCode": "00000"
},
"customerEmailAddress": "[email protected]"
}'Request body parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
balanceAsset | string | No | All deposits will be automatically converted to set fiat or stablecoin. If omitted, the received asset is credited directly (no conversion). |
notifyUrl | string | No | Webhook URL for deposit status notifications. |
customerProfile | string | Yes | Travel rule information for user of the address. See section Travel Rule Information. |
Example response:
{
"id": "cda1a2b3c4d5e7f8",
"balanceAsset": "EUR",
"notifyUrl": "https://your-platform.com/webhooks/deposits",
"addresses": [
{
"address": "0xd46faFF817D27c8C10edC580eB573cd4E8fC424d",
"paymentMethodIds": [
"ETHEREUM-BLOCKCHAIN-MAINNET-ETH-CURRENCY",
"ETHEREUM-BLOCKCHAIN-MAINNET-USDC-STANDARD",
"ETHEREUM-BLOCKCHAIN-MAINNET-USDT-STANDARD"
]
},
{
"address": "T9yD14Nj9j7xAB9kf14qMjdZR43bE1Z2L9",
"paymentMethodIds": [
"TRON-BLOCKCHAIN-MAINNET-TRX-CURRENCY",
"TRON-BLOCKCHAIN-MAINNET-USDT-STANDARD"
]
}
],
"createdAt": 1772539200,
"updatedAt": 1772539200
}
Save theid— you'll use it to retrieve the account and filter deposits. Deposit addresses are permanent and never expire.
If you specify a balanceAsset Confirmo will automatically convert all funds that arrive on the address to the specified target asset. The conversion rate at the time when the payment transitions to DONE is applied. The target asset can either be stablecoin or fiat.
Step 2 — Share an Address with Your Customer
The addresses array contains one entry per supported blockchain. Each entry includes the wallet address and a list of paymentMethodIds that tells you which assets are accepted on that address.
Pick the address for the chain your customer will use and display it in your UI. You can forward the address as text or convert it to a QR code for your customers to scan.
Step 3 — List Incoming Deposits
Query deposits across all accounts, or filter by account, asset, chain, status, or date.
curl -X GET "https://confirmo.net/api/v3/deposits/crypto?accountId=cda1a2b3c4d5e7f8&status=DONE&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"Available query parameters:
| Parameter | Type | Description |
|---|---|---|
accountId | string | Filter by deposit account ID |
address | string | Filter by specific wallet address |
chain | string | Filter by blockchain network identifier |
paymentAsset | string | Filter by received crypto asset (e.g. ETH, USDT) |
balanceAsset | string | Filter by settlement asset |
status | string | Filter by status |
createdAtFrom | integer | Unix timestamp — deposits created at or after this time |
createdAtTo | integer | Unix timestamp — deposits created at or before this time |
Example response:
{
"data": [
{
"accountId": "cda1a2b3c4d5e7f8",
"address": "T9yD14Nj9j7xAB9kf14qMjdZR43bE1Z2L9",
"chain": "TRON-BLOCKCHAIN-MAINNET",
"paymentAsset": "USDT",
"paymentAmount": 250.0,
"balanceAsset": "EUR",
"balanceAmount": 231.45,
"status": "DONE",
"txHash": "a1b2c3d4e5f6...",
"receivedAt": 1772539200,
"notifyUrl": "https://your-platform.com/webhooks/deposits"
}
],
"totalCount": 1,
"limit": 20,
"offset": 0,
"order": "createdAt, desc"
}If you have specified the notifyUrl parameter during creation of the Deposit account you will also receive a webhook notification for each change in the Deposit status. The DONE status means that the funds have been credited to you.
Updated about 6 hours ago
