Skip to main content
POST
/
v1
/
tokens
/
transfer
Transfer USDA+
curl --request POST \
  --url http://localhost:3000/v1/tokens/transfer \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "idempotencyKey": "550e8400-e29b-41d4-a716-446655440002",
  "from": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
  "to": "0x8ba1f109551bD432803012645Hac136c22C172e3",
  "amount": {
    "amount": "10000.12",
    "currency": "USD"
  },
  "chain": "ETH-SEPOLIA"
}
'
{
  "data": {
    "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "data": "0xa9059cbb0000000000000000000000008ba1f109551bd432803012645hac136c22c172e30000000000000000000000000000000000000000000000000000000004c4b40",
    "value": "0x0",
    "chainId": 11155111,
    "type": 2
  }
}

Authorizations

Authorization
string
header
required

API token for bank authentication

Body

application/json
idempotencyKey
string<uuid>
required

UUID for idempotency

Example:

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

from
string
required

Ethereum address to transfer tokens from

Example:

"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"

to
string
required

Ethereum address to transfer tokens to

Example:

"0x8ba1f109551bD432803012645Hac136c22C172e3"

amount
object
required
chain
enum<string>
required

Blockchain network identifier

Available options:
ETH-SEPOLIA
Example:

"ETH-SEPOLIA"

Response

Successfully created transfer transaction payload; the bank signs and submits the transaction from their own wallet.

data
object

Unsigned transaction payload returned by the API. The bank signs this (adding from, nonce, and gas fields) and submits it to the network. The API does not include gas (gasLimit, maxFeePerGas, maxPriorityFeePerGas, or gasPrice), from, or nonce; the signer supplies those.