Verify Ethereum address
Validate an Ethereum address and detect its type.
Validates an Ethereum address and provides information about its type.
Checks Performed
- Address format validation (checksum)
- Contract detection (checks if address has deployed code)
- Safe wallet identification (checks if it's a Gnosis Safe multisig)
Use Cases
- Validate customer wallet addresses before saving
- Detect if a recipient is a smart contract
- Identify Safe wallets for display purposes
Authorization
bearerAuth Organization API key obtained on Settings > API Keys page in Compose UI.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST 'https://compose.finance/api/v2/verify-address' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "address": "0x1234567890abcdef1234567890abcdef12345678" }'{
"isValid": true,
"isContract": false,
"isSafeWallet": false,
"warnings": [],
"errors": []
}{
"error": "Invalid request data"
}{
"error": "Unauthorized - Invalid or missing API key or session"
}{
"error": "Customers feature is not enabled for your organization"
}Get customer transactions GET
Returns the transaction history for a specific customer. Only includes DEPOSIT and WITHDRAWAL transactions. For deposit transactions where `developerFee` is present, wallet receive amount = `targetAmount - developerFee.amount`.
Create customer virtual account POST
Creates a dedicated named virtual IBAN for the customer. For individual customers, address and identity information is pulled from Sumsub KYC verification. For corporate customers, a verified business address and registration number must already be on file (completed via Compose onboarding). The account creation is asynchronous.

