Skip to main content
POST

Authorizations

Authorization
string
header
required

Basic Auth header with your app ID as the username and your app secret as the password.

Headers

privy-app-id
string
required

ID of your Privy app.

privy-authorization-signature
string

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

privy-request-expiry
string

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

Path Parameters

wallet_id
string
required

ID of the wallet.

Body

application/json

Request body for requesting a quote for a cross-asset or cross-chain (DADC) transfer.

source
NamedTokenTransferSource · object
required

Source for a transfer identified by a named asset (e.g. "usdc", "eth"). Use this variant for first-class assets maintained by Privy.

Example:
destination
TokenTransferDestination · object
required

The destination address for a token transfer. Optionally specify a different asset or chain for cross-asset or cross-chain transfers.

Example:
amount
string

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.

Maximum string length: 100
amount_type
enum<string>

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

Available options:
exact_input,
exact_output
slippage_bps
integer

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.

Required range: 0 <= x <= 10000
fee_configuration
FeeConfiguration · object

Optional fee configuration for the transfer. If omitted, cross-chain transfers will not charge additional fees.

Example:

Response

200 - application/json

Transfer quote retrieved successfully.

Response containing a quote for a cross-asset or cross-chain (DADC) transfer.

source
NamedTokenTransferSource · object
required

Source for a transfer identified by a named asset (e.g. "usdc", "eth"). Use this variant for first-class assets maintained by Privy.

Example:
destination
TokenTransferDestination · object
required

The destination address for a token transfer. Optionally specify a different asset or chain for cross-asset or cross-chain transfers.

Example:
estimated_input_amount
string
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_amount
string
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.

estimated_fees
(RelayerFee · object | PrivyFee · object | DeveloperFee · object)[]
required

Estimated fees in USD for the transfer. Only present for cross-chain transfers.

Estimated fee paid to the relayer.

Example:
expires_at
number
required

Quote expiry as Unix timestamp (seconds).

amount_type
enum<string>

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

Available options:
exact_input,
exact_output
estimated_gas
Gas · object

Estimated source gas cost with full token metadata. Only present for cross-chain transfers.

Example: