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
}
FieldTypeDescription
tokenAddressstringToken contract address (or any value for native transfers)
recipientAddressstringRecipient EVM address
amountstringHuman-readable amount (e.g. "100" for 100 USDC)
isNativeTokenbooleantrue for native ETH, false for ERC20

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 currently limited to the Base chain.

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
}'