Quickstart

This guide will get you started with the Crypto Deposits Platform API in under 5 minutes. You will learn how to authenticate, create a deposit address, and accept your first cryptocurrency payment.

Step 1: Authenticate

The API supports two authentication methods. For server-to-server integration, use API key authentication.

# Test your API key
curl https://api.coinspayd.io/chains \
  -H "x-api-key: your-api-key-here"

Step 2: Get supported chains

Before creating deposit addresses, check which blockchain networks are available.

GET
/chains
curl https://api.coinspayd.io/chains \
  -H "x-api-key: your-api-key-here"

Response:

{
  "chains": [
    {
      "id": "eip155:1",
      "name": "Ethereum",
      "enabled": true,
      "isTestnet": false
    },
    {
      "id": "eip155:137",
      "name": "Polygon",
      "enabled": true,
      "isTestnet": false
    }
    // ... more chains
  ]
}

Step 3: Get supported tokens

Check which tokens are available on your chosen chain (e.g., USDC on Ethereum).

GET
/tokens
curl -G https://api.coinspayd.io/tokens \
  -H "x-api-key: your-api-key-here" \
  -d chainId=eip155:1

Response:

{
  "tokens": [
    {
      "id": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "symbol": "USDC",
      "decimals": 6,
      "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    }
    // ... more tokens
  ]
}

Step 4: Create a deposit address

Generate a unique deposit address for a user to receive USDC on Ethereum.

GET
/payments/deposit-address
curl -G https://api.coinspayd.io/payments/deposit-address \
  -H "x-api-key: your-api-key-here" \
  -d chainId=eip155:1 \
  -d tokenId=eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 \
  -d userId=customer_123

Response:

{
  "address": {
    "chainId": "eip155:1",
    "externalUserId": "customer_123",
    "properties": {
      "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7"
    },
    "createdAt": "2025-01-30T10:00:00.000Z"
  }
}

Show this address to your user so they can send USDC to it. Deposits will be automatically detected and credited to their account.


Step 5: Monitor deposits

Check for incoming deposits for your user.

GET
/payments/:userId/deposits
curl https://api.coinspayd.io/payments/customer_123/deposits \
  -H "x-api-key: your-api-key-here"

Response:

{
  "deposits": [
    {
      "txnHash": "0x1234567890abcdef...",
      "amount": "100000000",
      "Token": {
        "symbol": "USDC",
        "decimals": 6
      },
      "createdAt": "2025-01-30T10:05:00.000Z"
    }
  ]
}

What's next?

Great! You have created a deposit address and can now accept cryptocurrency payments. Here are some next steps:

Common use cases

Accept Bitcoin deposits

# Get Bitcoin deposit address
curl -G https://api.coinspayd.io/payments/deposit-address \
  -H "x-api-key: your-api-key-here" \
  -d chainId=bip122:000000000019d6689c085ae165831e93 \
  -d tokenId=bip122:000000000019d6689c085ae165831e93/slip44:0 \
  -d userId=customer_123

Accept USDT on Tron

# Get Tron USDT deposit address
curl -G https://api.coinspayd.io/payments/deposit-address \
  -H "x-api-key: your-api-key-here" \
  -d chainId=tron:0x00000000000000000000000000000000 \
  -d tokenId=tron:0x00000000000000000000000000000000/trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t \
  -d userId=customer_123

Accept XRP with destination tag

# Get XRP deposit address (includes destination tag)
curl -G https://api.coinspayd.io/payments/deposit-address \
  -H "x-api-key: your-api-key-here" \
  -d chainId=xrpl:mainnet \
  -d tokenId=xrpl:mainnet/slip44:144 \
  -d userId=customer_123

# Response includes destinationTag:
# {
#   "address": {
#     "properties": {
#       "address": "rN7n7otQDd6FczFgLdlqtyMVrn3HMtthca",
#       "destinationTag": "12345"
#     }
#   }
# }

Need help?

  • API Reference: Browse all endpoints in the sidebar
  • Chains & Tokens: See all supported networks in the Reference section
  • Webhooks: Set up real-time notifications for deposits
  • Errors: Understand error codes and how to handle them

Was this page helpful?