Skip to main content

Transfer Endpoint

Execute a direct ERC20 or native token transfer.

Endpoint

POST /wallet/transfer

Request Body

{
"tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"recipientAddress": "0x1234567890abcdef1234567890abcdef12345678",
"amount": "100",
"isNativeToken": false,
"chain": "base"
}
FieldTypeDescription
tokenAddressstringToken contract address (or any value for native transfers)
recipientAddressstringRecipient EVM address
amountstringHuman-readable amount (e.g. "100" for 100 USDC)
isNativeTokenbooleantrue for the chain's native token (e.g. ETH), false for ERC20
chainstringOptional EVM chain: base (default), mainnet, polygon, arbitrum, unichain, worldchain, bnb, or robinhood

Response

Success (200 OK)

{
"success": true,
"txHash": "0xabc123..."
}

Access Control

  • Read-only keys: Rejected with 403
  • Allowed recipients: If configured on the API key, the recipient must be in the allowlist
note

Transfers are supported on all EVM chains. Omitting chain defaults to Base.

Examples

curl — Transfer USDC

curl -X POST https://api.bankr.bot/wallet/transfer \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"recipientAddress": "0x1234567890abcdef1234567890abcdef12345678",
"amount": "10",
"isNativeToken": false
}'

curl — Transfer native ETH

curl -X POST https://api.bankr.bot/wallet/transfer \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"tokenAddress": "0x0000000000000000000000000000000000000000",
"recipientAddress": "0x1234567890abcdef1234567890abcdef12345678",
"amount": "0.01",
"isNativeToken": true
}'