Method Name
private/transfer_erc20
private/transfer_erc20Transfer ERC20 assets from one subaccount to another (e.g. USDC or ETH).
For transfering positions (e.g. options or perps), use private/transfer_position instead.
Required minimum session key permission level is admin
Parameters
| recipient_subaccount_idintegerrequired Subaccount_id of the recipient |
| subaccount_idintegerrequired Subaccount_id |
| recipient_detailsobjectrequired Details of the recipient |
| recipient_details.nonceintegerrequired Unique nonce defined as (UTC_timestamp in ms)(random_number_up_to_6_digits) (e.g. 1695836058725001, where 001 is the random number) |
| recipient_details.signaturestringrequired Ethereum signature of the transfer |
| recipient_details.signature_expiry_secintegerrequired Unix timestamp in seconds. Expiry MUST be >5min from now |
| recipient_details.signerstringrequired Ethereum wallet address that is signing the transfer |
| sender_detailsobjectrequired Details of the sender |
| sender_details.nonceintegerrequired Unique nonce defined as (UTC_timestamp in ms)(random_number_up_to_6_digits) (e.g. 1695836058725001, where 001 is the random number) |
| sender_details.signaturestringrequired Ethereum signature of the transfer |
| sender_details.signature_expiry_secintegerrequired Unix timestamp in seconds. Expiry MUST be >5min from now |
| sender_details.signerstringrequired Ethereum wallet address that is signing the transfer |
| transferobjectrequired Transfer details |
| transfer.addressstringrequired Ethereum address of the asset being transferred |
| transfer.amountstringrequired Amount to transfer |
| transfer.sub_idintegerrequired Sub ID of the asset being transferred |
Response
| idstring or integerrequired |
| resultobjectrequired |
result.statusstringrequiredrequested |
| result.transaction_idstringrequired Transaction id of the transfer |
Example
{request_example_shell}{request_example_javascript}{request_example_python}The above command returns JSON structured like this:
{response_example_json}