This operation initiates a token transfer from the specified wallet.
You need to provide dst_addr, amount, and token_id. The chain_id is automatically resolved from token_id. Gas fees are covered automatically — you do not need to prepare gas tokens.
Supply request_id to enable idempotency. If a transfer with the same request_id already exists for the same principal, the existing record is returned with idempotent=true.
The operation returns status=200 (PENDING_APPROVAL) when an approval policy requires review before execution. Use the pending_operation_id in the response to track and resolve the approval.
The UUID of the wallet to transfer tokens from. Retrieve this value from the id field returned when the wallet was created.
Request payload for token transfer.
The destination on-chain address.
1 - 255The transfer amount as a decimal string (for example, 1.5).
1 - 100The Cobo token ID to transfer (for example, SETH, SETH_USDC, SOLDEV_SOL_USDC). Use the List supported assets operation to retrieve all supported token IDs. Defaults to SETH.
1 - 100The chain ID. Automatically resolved from token_id if omitted.
100A client-supplied identifier for idempotency. If a transfer with the same request_id already exists for the same principal, the existing record is returned.
255Optional custom fee parameters. If omitted, the network default is used.
The source address to transfer from. If omitted, the server auto-selects the wallet address on this chain with the highest available token_id balance (explicit src_addr always takes precedence).
255Whether to use Cobo Gasless (Fee Station) to cover gas fees. true: gas fees are sponsored. false: gas fees are paid from the wallet. Defaults to true for human-owned wallets, false for agent-owned wallets.
The gas provider to use for sponsored transactions. If omitted, the server default is used.
50Optional note stored locally and sent to WaaS as the transaction description (transfer).
512Successful Response
Transfer submission response payload.
Pagination metadata for list responses.
Supports both legacy offset-based and cursor-based pagination.
Cursor fields (has_more, after, before) are populated for
cursor-paginated endpoints. Legacy fields (offset, limit) are
populated when the caller uses the deprecated offset parameter.