v46

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-211591,0051.4 MB
Wallet Actions

Get Transfer Quote

Get a price quote for a cross-asset or cross-chain (DADC) transfer. Only available for named-asset transfers where the source and destination asset or chain differ.

post/v1/wallets/{wallet_id}/transfer/quote

Path parameters

wallet_idstring required

ID of the wallet.

Headers

privy-app-idstring required

ID of your Privy app.

privy-authorization-signaturestring

Request authorization signature. If multiple signatures are required, they should be comma separated.

privy-request-expirystring

Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.

Request body

amountstring

Amount as a decimal string in the token's standard unit (e.g. "1.5" for 1.5 USDC). For exact_input, the amount to send. For exact_output, the exact amount to receive. Takes precedence over source.amount when both are provided.

amount_type'exact_input' | 'exact_output'

Whether the amount refers to the input token or output token.

slippage_bpsinteger

Maximum allowed slippage in basis points (1 bps = 0.01%). Only applicable for cross-chain or cross-asset transfers; omit to use the provider default.

Example request

{
  "destination": {
    "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "asset": "usdc",
    "chain": "arbitrum"
  },
  "source": {
    "amount": "10.5",
    "asset": "usdc",
    "chain": "base"
  }
}

Response

Transfer quote retrieved successfully.

amount_type'exact_input' | 'exact_output'

Whether the amount refers to the input token or output token.

estimated_input_amountstring required

Estimated input amount in decimals. For exact_input, this equals source.amount. For exact_output, this is the estimated amount the sender needs to provide.

estimated_output_amountstring required

Estimated output amount in decimals. For exact_input, this is an estimate subject to slippage. For exact_output, this is the guaranteed exact amount to be received.

expires_atnumber required

Quote expiry as Unix timestamp (seconds).

Example response

{
  "destination": {
    "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "asset": "usdc",
    "chain": "arbitrum"
  },
  "estimated_fees": [
    {
      "amount": "0.20",
      "type": "relayer"
    },
    {
      "amount": "0.20",
      "type": "privy"
    },
    {
      "amount": "0.60",
      "recipient": "0x1234567890abcdef1234567890abcdef12345678",
      "type": "developer"
    }
  ],
  "estimated_gas": {
    "amount": "0.0001",
    "base_amount": "100000000000000",
    "gas_asset": "ETH"
  },
  "estimated_input_amount": "10.50",
  "estimated_output_amount": "10.45",
  "expires_at": 1715200000,
  "source": {
    "amount": "10.50",
    "asset": "usdc",
    "chain": "base"
  }
}