Skip to main content
POST
Get transfer payload

Authorizations

X-Pubkey, X-Timestamp, X-Signature
string
header
required

Headers

X-Pubkey
string
required

Integrator's ECDSA public key (P-256 curve, compressed SEC1 format). Example: 0x038fedef7c12f93bbf342ad8943b7a825a3b41f61c9dc118b2c718efebabbf62fd

X-Timestamp
string
required

Unix timestamp in seconds (UTC). Must be within tolerance window (1 minute) to prevent replay attacks. Example: 1760375826

X-Signature
string
required

ECDSA signature (DER-encoded, hex with 0x prefix). Signs the message: {timestamp}{METHOD}{path_and_query}{json_body}. Example: 0x3045022100...

Query Parameters

chain_id
integer<int32>
required

Chain ID (1 for Ethereum, 8453 for Base)

Required range: x >= 0

Body

application/json

Transfer request body

accountId
string<uuid>
required

A UUID string

Example:

"550e8400-e29b-41d4-a716-446655440000"

currency
enum<string>
required

On-chain currencies only (subset of Currency), for requests where fiat makes no sense.

Available options:
usdc,
eurc
amount
string
required

A high-precision decimal number represented as a string

Example:

"123.456789"

destinationAddress
string
required

The destination wallet address.

Example:

"0x08fF6dD6e4d7ec3F5fca97e17e0ee1099b74C069"

Response

Transaction created successfully

bodyToSign
object
required

The object that needs to be signed by the end user to make a transaction.

transactionId
string<uuid>
required

A UUID string

Example:

"550e8400-e29b-41d4-a716-446655440000"

destinationBankAccount
object

Bank account details where the funds will be transferred to (withdrawals only).