Get deposit addresses
Get the on-chain addresses your organization can be paid on.
Returns the on-chain addresses your organization can be paid on.
Custodial addresses credit the matching custodial balance. The same asset is credited to one balance regardless of which supported chain it arrives on, so USDC received on Ethereum, Arbitrum or Solana all increase your usdc custodial balance.
Wallet addresses credit your organization's self-custody wallet.
Always send the listed currency on the listed chain. Funds sent on a different chain, or in a different asset, cannot be recovered automatically. Self-custody wallet destinations and organization-specific custodial destinations are omitted if their address cannot be verified. EVM deposit addresses use checksummed formatting.
Authorization
bearerAuth Organization API key obtained on Settings > API Keys page in Compose UI.
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET 'https://compose.finance/api/v2/deposit-addresses' \ -H 'Authorization: Bearer YOUR_API_KEY'{
"custodial": [
{
"currency": "USDC",
"chain": "ethereum",
"address": "0x2C8f4B1a90dE0f7cA1b6E9d5B41F3A7c0D2e5A81"
},
{
"currency": "USDC",
"chain": "arbitrum",
"address": "0x2C8f4B1a90dE0f7cA1b6E9d5B41F3A7c0D2e5A81"
},
{
"currency": "USDC",
"chain": "solana",
"address": "5fv6GF8hj4BqpvRb5wEZ8WABdEeMTt4Ujtr44b1VpHZh"
},
{
"currency": "USDT",
"chain": "ethereum",
"address": "0x2C8f4B1a90dE0f7cA1b6E9d5B41F3A7c0D2e5A81"
},
{
"currency": "USDT",
"chain": "tron",
"address": "TLG7zFXsy5q7HL2HKUBGvqSV4ADfEPfauN"
},
{
"currency": "USDT",
"chain": "solana",
"address": "5fv6GF8hj4BqpvRb5wEZ8WABdEeMTt4Ujtr44b1VpHZh"
},
{
"currency": "EURC",
"chain": "base",
"address": "0x2C8f4B1a90dE0f7cA1b6E9d5B41F3A7c0D2e5A81"
},
{
"currency": "EURC",
"chain": "ethereum",
"address": "0x2C8f4B1a90dE0f7cA1b6E9d5B41F3A7c0D2e5A81"
},
{
"currency": "EURC",
"chain": "solana",
"address": "5fv6GF8hj4BqpvRb5wEZ8WABdEeMTt4Ujtr44b1VpHZh"
}
],
"wallet": [
{
"currency": "USDC",
"chain": "base",
"address": "0x1234567890abcdef1234567890abcdef12345678"
}
]
}{
"error": "Unauthorized - Invalid or missing API key or session"
}{
"error": "Customers feature is not enabled for your organization"
}{
"error": "Internal server error"
}Get balances GET
Returns custodial (account) and non-custodial (Safe wallet) balances for your organization. **Custodial balances** are grouped by asset and summed across chains. These represent funds held on your behalf by Compose. **Non-custodial balances** are queried on-chain from your organization's Safe wallet. Each entry includes the chain and token contract address.
Create customer POST
Creates a new customer for the authenticated organization. Supports both individual and corporate account types. Requires Bearer token authentication.

