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 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 when virtual accounts are available for your organization. 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.

