# Transfer Quote ## Fees Transfers between subaccounts incur a network fee: * **Standard transfers**: 1 USDT0 * **Isolated subaccount transfers**: 0.1 USDT0 (when either sender or recipient is an isolated subaccount) The fee is automatically deducted from the sender's balance. ## Rate limits * 60 transfer quotes/min or 10 every 10 seconds per wallet. (**weight=10**) * A max of 5 transfer quotes to new recipients (subaccounts) every 24hrs. * **Note**: Transferring quote to a subaccount that doesn't exist, creates the subaccount. {% hint style="info" %} See more details in [API Rate limits](https://docs.nado.xyz/developer-resources/api/rate-limits). {% endhint %} ## Request {% tabs %} {% tab title="Websocket" %} **Connect** `WEBSOCKET [GATEWAY_WEBSOCKET_ENDPOINT]` **Message** ```json { "transfer_quote": { "tx": { "sender": "0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43746573743000000000000000", "recipient": "0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43746573743100000000000000", "amount": "10000000000000000000", "nonce": "1" }, "signature": "0x" } } ``` {% endtab %} {% tab title="REST" %} `POST [GATEWAY_REST_ENDPOINT]/execute` **Body** ```json { "transfer_quote": { "tx": { "sender": "0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43746573743000000000000000", "recipient": "0x7a5ec2748e9065794491a8d29dcf3f9edb8d7c43746573743100000000000000", "amount": "10000000000000000000", "nonce": "1" }, "signature": "0x" } } ``` {% endtab %} {% endtabs %} ## Request Parameters
ParameterTypeRequiredDescription
txobjectYesTransfer Quote transaction object. See Signing section for details on the transaction fields.
tx.senderstringYesHex string representing the subaccount's 32 bytes (address + subaccount name) of the tx sender.
tx.recipientstringYesHex string representing the subaccount's 32 bytes (address + subaccount name) of the quote recipient.
tx.amountstringYesThe amount of USDT0 to transfer, denominated in x18. Transfr amount must be >= 5 USDT0 . See Signing section for more details.
tx.noncestringYesThis is an incrementing nonce, can be obtained using the Nonces query.
signaturestringYesHex string representing hash of the signed transaction. See Signing section for more details.
## Signing {% hint style="info" %} See more details and examples in our [signing](https://docs.nado.xyz/developer-resources/api/gateway/signing) page. {% endhint %} The solidity typed data struct that needs to be signed is: ```solidity struct TransferQuote { bytes32 sender; bytes32 recipient; uint128 amount; uint64 nonce; } ``` `sender`: a `bytes32` sent as a hex string; includes the address and the subaccount identifier. `recipient`: a `bytes32` sent as a hex string; includes the address and the subaccount identifier. `amount`: the amount of quote to transfer, sent as an `x18` string. {% hint style="warning" %} **Notes:** * If you are transferring `5 USDT0`, must specify `5000000000000000000` i.e 5 USDT0 \* 1e18. * Transfer amount should be >= 5 USDT0. {% endhint %} `nonce`: the `tx_nonce`. This is an incrementing nonce, can be obtained using the [Nonces](https://docs.nado.xyz/developer-resources/api/gateway/queries/nonces) query. {% hint style="warning" %} **Note**: for signing you should always use the data type specified in the solidity struct which might be different from the type sent in the request e.g: `nonce` should be an `uint64` for **Signing** but should be sent as a `string` in the final payload. {% endhint %} ## Response #### Success ```json { "status": "success", "signature": {signature}, "request_type": "execute_transfer_quote" } ``` #### Failure ```json { "status": "failure", "signature": {signature}, "error": "{error_msg}", "error_code": {error_code}, "request_type": "execute_transfer_quote" } ```