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:

ParameterTypeRequiredDescription
balanceAssetstringNoAll deposits will be automatically converted to set fiat or stablecoin. If omitted, the received asset is credited directly (no conversion).
notifyUrlstringNoWebhook URL for deposit status notifications.
customerProfilestringYesTravel 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 the id — 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:

ParameterTypeDescription
accountIdstringFilter by deposit account ID
addressstringFilter by specific wallet address
chainstringFilter by blockchain network identifier
paymentAssetstringFilter by received crypto asset (e.g. ETH, USDT)
balanceAssetstringFilter by settlement asset
statusstringFilter by status
createdAtFromintegerUnix timestamp — deposits created at or after this time
createdAtTointegerUnix 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.