Deposit to / withdraw from a Tokenized Assets Account
Move tokens between the owner’s wallet and their Tokenized Assets Account.
Use DEPOSIT to fund the account from the owner’s wallet, or WITHDRAW to
send tokens from the account back to the owner. Equity orders settle in
USDC; RWA yield assets trade against USDC on Ethereum and Base.
With gas_sponsorship=true the response is EIP-712 typed data the owner
signs off-chain, then submits to POST /v2/gas_sponsorship/prepare so the
sponsor broadcasts and pays the gas:
- DEPOSIT returns a Permit2
PermitTransferFrom. The owner must first grant a one-time token->Permit2 allowance (gaslessly viaPOST /v2/gas_sponsorship/approve_transfer). - WITHDRAW returns a Safe transaction the account executes.
With gas_sponsorship=false a DEPOSIT returns an unsigned ERC-20 transfer
the owner broadcasts directly, and a WITHDRAW returns an unsigned Safe
execTransaction the owner signs and broadcasts.
Body
The owner's wallet address (EOA).
"0x9bDC45AA15FdFFc52E103EA05c260c494A5638f7"
The token to transfer. Tokenized-asset orders settle in USDC.
"USDC"
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
The amount of tokens to transfer (in token units, not wei).
x > 0100
Whether you are depositing to or withdrawing from your Tokenized Assets Account.
DEPOSIT, WITHDRAW "DEPOSIT"
Network to transfer on (defaults to Ethereum). Equities settle on Ethereum; RWA yield assets also trade on Base.
base, ethereum, arbitrum, hyperevm, tempo "ethereum"
Optionally request gas sponsorship. If set to true, EIP-712 signature data will be returned that must be signed by the owner and submitted to the /gas_sponsorship/prepare endpoint.
The address that will call Permit2's permitTransferFrom to execute the transfer. When action is 'DEPOSIT' and gas_sponsorship is true: - If provided, the signature will authorize this address (typically a gas sponsor) to pull tokens. - If not provided, defaults to the Tokenized Assets Account (Safe) address, allowing the transfer to be included in a bundle transaction where the Safe pulls the tokens itself.
Response
Successful Response
Unsigned transaction for direct execution. Present when gas_sponsorship=false.
{
"chainId": "0x1",
"data": "0xa9059cbb000000000000000000000000...",
"from": "0xc98949522db2eE403d6c75E91DDEe875a824bB10",
"gas": "0x30d40",
"maxFeePerGas": "0x3b9aca00",
"maxPriorityFeePerGas": "0x5f5e100",
"nonce": "0x2c",
"to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"value": "0x0"
}Response containing EIP-712 typed data for Safe transaction signing.
- BatchedSafeOperationsResponse
- Permit2TypedData
{
"domain": {
"chainId": 8453,
"verifyingContract": "0x6B90E8B4E3E971E74C1A47a3a20976377E2dB4b1"
},
"message": {
"baseGas": "0",
"data": "0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000020",
"gasPrice": "0",
"gasToken": "0x0000000000000000000000000000000000000000",
"nonce": "7",
"operation": 1,
"refundReceiver": "0x0000000000000000000000000000000000000000",
"safeTxGas": "0",
"to": "0x93C23AAE4793C14D6DF35D2A2A2234204e1559dA",
"value": "0"
},
"primaryType": "SafeTx",
"types": {
"EIP712Domain": [
{ "name": "chainId", "type": "uint256" },
{
"name": "verifyingContract",
"type": "address"
}
],
"SafeTx": [
{ "name": "to", "type": "address" },
{ "name": "value", "type": "uint256" },
{ "name": "data", "type": "bytes" },
{ "name": "operation", "type": "uint8" },
{ "name": "safeTxGas", "type": "uint256" },
{ "name": "baseGas", "type": "uint256" },
{ "name": "gasPrice", "type": "uint256" },
{ "name": "gasToken", "type": "address" },
{
"name": "refundReceiver",
"type": "address"
},
{ "name": "nonce", "type": "uint256" }
]
}
}