Skip to main content
GET
/
v1
/
transactions
/
quote
Get the best available quote for a stablecoin transfer
curl --request GET \
  --url https://api.faraday.range.org/v1/transactions/quote \
  --header 'Authorization: Bearer <token>'
{
"quote": {
"amount_in": "5000000",
"amount_out_estimated": "5000000",
"created_at": "2025-10-29T10:01:23Z",
"expires_at": null,
"fee": {
"fee_asset": "",
"network_fee": "5000",
"router_fee": "",
"total_fee": ""
},
"from_asset": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
"from_chain": "solana-devnet",
"id": "0575d7f5-7e02-4208-a993-7261e605c470",
"min_amount_out": "5000000",
"provider": "direct",
"provider_context": null,
"to_asset": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
"to_chain": "solana-devnet",
"transactions": [
{
"chain_id": "EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
"kind": "solana",
"meta": {
"blockhash_expiry_seconds": 120,
"decimals": 6,
"from_ata": "B4G1X1UoWXNy6HXk2MXRhbSY3Sd2z8Mf32Ak9zC7XG62",
"mint": "4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",
"recent_blockhash": "AHhbjisxx4vtWhiQ22gQUFoJtzdT3ad22XzXhuHrBLca",
"requires_create_ata": true,
"to_ata": "5QTxbuHroxQM7rv1vSzMMvUQ2a3vJodtQH9vawKTATGd"
},
"tx_base64": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAUIIOwXp6hCF/z4mI2gcyShGCThUvUeWCz+ZW2xfiXSYc9BcZarum/U3+JSrWwNCxzVBJ35PgfnhqGFrgcRv2U2epVqlROnrjt2WjMsC9+l+jYSO/jqh6sTObfeI8b6DLRvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqTtELLORIVfxOpM9ATQoLQMrX/7NAaLb8bd5BgjfAC6nY959WgOStnuBoC8tRC/LcM5DR1JIURG+4DuXI98XF5iMlyWPTiSJ8bs9ECkUjg2DC1oTmdr/EIQEjnvY2+n4WYoAYW/SC9NKD87MwG5xFBtjx3eWhiQkhmWpP8npFuJbAgcGAAEGBQMEAQEEBAIFAQAKDEBLTAAAAAAABg=="
}
]
},
"risk": {
"errors": [],
"overall_risk_level": "high",
"processing_time_ms": 4439.167,
"request_summary": {
"amount": 100000000,
"recipient_address": "0x10ADD26fb2D17dA265e0567B8F56cb4687979fbE",
"recipient_network": "ethereum",
"recipient_token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"sender_address": "GvFbpZcqXNoZbAH8ETAA4DYBzaEHY4v2Vt7r71ZqJCTc",
"sender_network": "solana",
"sender_token": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
},
"risk_factors": [
{
"description": "Unable to assess new wallet risk due to service error: Network 'ethereum' is not configured.",
"factor": "assessment_error_new_wallet",
"risk_level": "medium"
},
{
"description": "Unable to assess dormant wallet risk: Network 'ethereum' is not configured.",
"factor": "assessment_error_dormant_wallet",
"risk_level": "medium"
},
{
"description": "No address poisoning pattern detected between sender and recipient",
"factor": "no_address_poisoning",
"risk_level": "low"
},
{
"description": "First ever interaction between these addresses",
"factor": "first_interaction",
"risk_level": "high"
},
{
"description": "Sender address is directly connected (1 hop) to malicious addresses (riskScore: 10). Address is directly malicious.",
"factor": "connected_to_malicious_address",
"risk_level": "high"
},
{
"description": "Recipient address has no known connections to malicious addresses according to Range API",
"factor": "clean_address_recipient",
"risk_level": "low"
}
]
}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

from_chain
enum<string>
required

Source chain (e.g., "solana", "ethereum")

Available options:
eth,
sepolia,
solana,
oeth,
solana-devnet,
osmosis-1,
arb1,
pol,
base,
avax,
bnb,
neutron-1,
celestia,
opsep,
fuji,
amoy,
basesep,
linea
from_address
string

Sender address on the source chain

from_asset
string

Asset/mint/contract on the source chain

to_chain
enum<string>

Destination chain (e.g., "ethereum")

Available options:
eth,
sepolia,
solana,
oeth,
solana-devnet,
osmosis-1,
arb1,
pol,
base,
avax,
bnb,
neutron-1,
celestia,
opsep,
fuji,
amoy,
basesep,
linea
to_asset
string

Asset/mint/contract on the destination chain

amount
string

Amount in base units (integer string, no decimals)

slippage_bps
integer
required

Slippage in basis points (0..=10000)

Required range: x >= 0
to_address
string

Recipient address on the destination chain

travel_rule_compliant
boolean

Whether the transaction complies with Travel Rule requirements.

allowed_providers
enum<string>[]

If set, the router will restrict quote routing to these providers only. If omitted, all available providers will be used.

GET request usage: ?allowed_providers=relay&allowed_providers=skipgo (use repeated query parameters)

risk_report
boolean

Whether this request should compute a risk report. If omitted, defaults to false.

Response

OK

Quote successfully retrieved.

quote
object
required

The selected best route/quote

risk
any
required

Risk assessment from the ML API (None if the call failed)

NOTE: PaymentRiskResponse is from an external crate. We keep the field typed as PaymentRiskResponse in Rust, but for OpenAPI we document it as JSON and provide a realistic example payload.