Transfer Endpoint
Execute a direct ERC20 or native token transfer.
Endpoint
POST /wallet/transfer
Request Body
{
"tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"recipientAddress": "0x1234567890abcdef1234567890abcdef12345678",
"amount": "100",
"isNativeToken": false
}
| Field | Type | Description |
|---|---|---|
tokenAddress | string | Token contract address (or any value for native transfers) |
recipientAddress | string | Recipient EVM address |
amount | string | Human-readable amount (e.g. "100" for 100 USDC) |
isNativeToken | boolean | true 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
}'