Create quote
Firm price for 2 minutes plus a deposit address. Paying the address creates the order.
curl --request POST \
--url https://orchestration.flashnet.xyz/v1/orchestration/quote \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '
{
"sourceChain": "base",
"sourceAsset": "USDC",
"destinationChain": "spark",
"destinationAsset": "BTC",
"amount": "50000000",
"recipientAddress": "RECIPIENT_ADDRESS"
}
'const options = {
method: 'POST',
headers: {
'X-Idempotency-Key': '<x-idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sourceChain: 'base',
sourceAsset: 'USDC',
destinationChain: 'spark',
destinationAsset: 'BTC',
amount: '50000000',
recipientAddress: 'RECIPIENT_ADDRESS'
})
};
fetch('https://orchestration.flashnet.xyz/v1/orchestration/quote', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://orchestration.flashnet.xyz/v1/orchestration/quote"
payload = {
"sourceChain": "base",
"sourceAsset": "USDC",
"destinationChain": "spark",
"destinationAsset": "BTC",
"amount": "50000000",
"recipientAddress": "RECIPIENT_ADDRESS"
}
headers = {
"X-Idempotency-Key": "<x-idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"amountMode": "exact_in",
"estimatedOut": "99000000",
"feeAmount": "500000",
"roundingFeeAmount": "0",
"totalFeeAmount": "500000",
"feeBps": 50,
"feeAsset": "USDC",
"route": [
"BTC",
"USDB",
"USDC"
],
"quoteId": "q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831",
"depositAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"amountIn": "100000",
"expiresAt": "2026-09-12T12:02:00.000Z"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Partner API key in the form Authorization: Bearer fn_....
Headers
1Body
Unknown top-level fields are ignored rather than rejected.
arbitrum, arc, avalanche, base, bitcoin, bsc, ethereum, hedera, hypercore, hyperevm, lightning, litecoin, monad, monero, optimism, plasma, polygon, robinhood, sei, solana, spark, tempo, ton, tron, xrp, zcash A canonical public asset symbol or a registry asset routing key. TON is a legacy input alias for ton:GRAM only; responses use GRAM.
AAPL, AI, AMD, AMZN, BNB, BONER, BTC, CASHCAT, COIN, COST, DAI, DELTA, DJT, ETH, GLD, GME, GOOGL, GRAM, HIMS, HSUSD, HYPE, IF, LTC, META, MON, MSFT, MSTR, MU, NVDA, PIPEDOG, PLTR, POL, PONS, PYUSD, PathUSD, QQQ, RDDT, SHX, SKHY, SLV, SNDK, SOL, SPCX, SPY, STONKBROKER, TENDIES, TRX, TSLA, TSM, UP, USDB, USDC, USDC.e, USDG, USDT, USDe, USD₮0, USO, WBNB, WBTC, WEN, XMR, XPL, XRP, ZEC, cbBTC, tBTC arbitrum, arc, avalanche, base, bitcoin, bsc, ethereum, hedera, hypercore, hyperevm, lightning, litecoin, monad, monero, optimism, plasma, polygon, robinhood, sei, solana, spark, tempo, ton, tron, xrp, zcash A canonical public asset symbol or a registry asset routing key. TON is a legacy input alias for ton:GRAM only; responses use GRAM.
AAPL, AI, AMD, AMZN, BNB, BONER, BTC, CASHCAT, COIN, COST, DAI, DELTA, DJT, ETH, GLD, GME, GOOGL, GRAM, HIMS, HSUSD, HYPE, IF, LTC, META, MON, MSFT, MSTR, MU, NVDA, PIPEDOG, PLTR, POL, PONS, PYUSD, PathUSD, QQQ, RDDT, SHX, SKHY, SLV, SNDK, SOL, SPCX, SPY, STONKBROKER, TENDIES, TRX, TSLA, TSM, UP, USDB, USDC, USDC.e, USDG, USDT, USDe, USD₮0, USO, WBNB, WBTC, WEN, XMR, XPL, XRP, ZEC, cbBTC, tBTC Amount in smallest units of the source asset, or destination asset for exact_out; stablecoin exact_out amounts require whole cents.
^[0-9]+$Destination recipient; use the owner address for Solana tokens, or a Lightning address or compatible BOLT11 invoice for Lightning.
1exact_out pins the destination amount and requires whole cents for stablecoins.
exact_in, exact_out Delivery mode; read fixed-delivery destinations from /v2/orchestration/routes.
variable, fixed lightning:BTC exact-in variable only: mint an amountless invoice. amount prices an indicative size; the order runs on whatever amount is paid.
Include transaction calldata to fund the returned deposit address. Supported for EVM native and ERC-20 sources only; unsupported sources return calldata_unsupported_source. Defaults to false.
arbitrum, arc, avalanche, base, bitcoin, bsc, ethereum, hedera, hypercore, hyperevm, lightning, litecoin, monad, monero, optimism, plasma, polygon, robinhood, sei, solana, spark, tempo, ton, tron, xrp, zcash Source-chain refund address where required by the route; sanctioned addresses are rejected.
1Slippage tolerance in basis points, subject to the route minimum.
0 <= x <= 1000Inline app fees, requiring a server key or dashboard session.
1 - 16 elementsShow child attributes
Show child attributes
Registered affiliate ID for accrued fees, also accepted from client keys.
Registered affiliate IDs or fee overrides; mutually exclusive with appFees, with overrides requiring a server key or dashboard session.
1 - 16 elementsRegistered affiliate ID or { affiliateId, feeBps } override.
1Response
Quote created
Exact immutable reviewed token identities frozen by the native quote. Omitted for legacy or invalid snapshots; caller metadata cannot set these pins.
1 - 32 elementsShow child attributes
Show child attributes
Unsigned deposit transfer, returned only with includeCalldata=true on supported EVM sources. No approval is needed. This funds the deposit; it does not execute the swap.
Show child attributes
Show child attributes
Memo or tag required with the deposit when present.
The invoice is amountless. amountIn and estimatedOut price the indicative amount and are rescaled to the amount actually paid.
true exact_in, exact_out fixed Action required when the locked price can no longer be honored.
strict_requote, approval_required Minimum locked destination amount in smallest units.
Quoted network cost in smallest units of networkCostAsset.
Asset used to pay the quoted network cost.
Whether the quoted network cost must be paid.
Itemized network costs and quote-time assumptions.
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Client-key read token for this quote and its order, including private ZeroConf outcomes.
Was this page helpful?
curl --request POST \
--url https://orchestration.flashnet.xyz/v1/orchestration/quote \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--data '
{
"sourceChain": "base",
"sourceAsset": "USDC",
"destinationChain": "spark",
"destinationAsset": "BTC",
"amount": "50000000",
"recipientAddress": "RECIPIENT_ADDRESS"
}
'const options = {
method: 'POST',
headers: {
'X-Idempotency-Key': '<x-idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sourceChain: 'base',
sourceAsset: 'USDC',
destinationChain: 'spark',
destinationAsset: 'BTC',
amount: '50000000',
recipientAddress: 'RECIPIENT_ADDRESS'
})
};
fetch('https://orchestration.flashnet.xyz/v1/orchestration/quote', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://orchestration.flashnet.xyz/v1/orchestration/quote"
payload = {
"sourceChain": "base",
"sourceAsset": "USDC",
"destinationChain": "spark",
"destinationAsset": "BTC",
"amount": "50000000",
"recipientAddress": "RECIPIENT_ADDRESS"
}
headers = {
"X-Idempotency-Key": "<x-idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"amountMode": "exact_in",
"estimatedOut": "99000000",
"feeAmount": "500000",
"roundingFeeAmount": "0",
"totalFeeAmount": "500000",
"feeBps": 50,
"feeAsset": "USDC",
"route": [
"BTC",
"USDB",
"USDC"
],
"quoteId": "q_7e450ab4-935b-4f8d-a6c4-4987a3cd2831",
"depositAddress": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"amountIn": "100000",
"expiresAt": "2026-09-12T12:02:00.000Z"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}