Skip to main content
POST
Create Lightning offramp quote

Authorizations

Authorization
string
header
required

Partner API key in the form Authorization: Bearer fn_....

Headers

X-Idempotency-Key
string
required
Minimum string length: 1

Body

application/json

Exact-in variable Lightning payout. Unknown fields are rejected.

sourceChain
enum<string>
required
Available options:
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
sourceAsset
required

An AssetInput, or a token address. A quote whose source is an unlisted token requires refundAddress: a deposit that cannot be sold is refunded in kind there.

Available options:
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,
OUSD,
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,
XO,
XPL,
XRP,
ZEC,
cbBTC,
tBTC
amount
string
required

Amount in smallest units of the source asset.

Pattern: ^[0-9]+$
recipientAddress
string
required

Cash App username (username or $username), or Lightning address (username@domain). Cash App usernames resolve to [email protected]. BOLT11 invoices and URLs are not accepted.

Minimum string length: 1
refundAddress
string
required

Required refund address on the source chain, or the supplied refundChain.

Minimum string length: 1
includeCalldata
boolean

Include transaction calldata to fund the order. Supported for EVM native and ERC-20 sources only; unsupported sources return calldata_unsupported_source. Defaults to false.

refundChain
enum<string>
Available options:
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
slippageBps
integer

Slippage tolerance in basis points, subject to the route minimum.

Required range: 0 <= x <= 1000
appFees
object[]

Inline app fees, requiring a server key or dashboard session.

Required array length: 1 - 16 elements
affiliateErrorMode
enum<string>

Opt in to affiliate_not_found / affiliate_disabled for registered affiliate lookup failures. Omitted or legacy preserves invalid_request. HTTP 400 in either mode. Changing this field requires a new idempotency key.

Available options:
legacy,
specific
affiliateId
string

Registered affiliate ID for accrued fees, also accepted from client keys.

affiliateIds
(string | object)[]

Registered affiliate IDs or fee overrides; mutually exclusive with appFees, with overrides requiring a server key or dashboard session.

Required array length: 1 - 16 elements

Registered affiliate ID or { affiliateId, feeBps } override.

Minimum string length: 1
tag
string | null

Your own reporting label, such as an integrator ID. Every order this quote funds carries it, and the dashboard filters and groups by it. Self-reported: anyone holding the key that creates the quote chooses it.

Pattern: ^[A-Za-z0-9._:-]{1,64}$

Response

Quote created

quoteId
string
required
depositAddress
string
required
amountIn
string
required
estimatedOut
string
required
feeAmount
string
required
totalFeeAmount
string
required
feeAsset
string
required
feeBps
integer
required
route
string[]
required
expiresAt
string
required
reviewedAssets
object[]

Exact immutable reviewed token identities frozen by the native quote. Omitted for legacy or invalid snapshots; caller metadata cannot set these pins.

Required array length: 1 - 32 elements
transaction
object

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.

depositMemo
string

Memo or tag required with the deposit when present.

lightningReceiveRequestId
string
flexibleAmount
enum<boolean>

The invoice is amountless. amountIn and estimatedOut price the indicative amount and are rescaled to the amount actually paid.

Available options:
true
amountMode
enum<string>
Available options:
exact_in,
exact_out
targetAmountOut
string
requiredAmountIn
string
maxAcceptedAmountIn
string
inputBufferBps
integer
deliveryMode
enum<string>
Available options:
fixed
priceLockMode
enum<string>

Action required when the locked price can no longer be honored.

Available options:
strict_requote,
approval_required
lockedMinAmountOut
string

Minimum locked destination amount in smallest units.

roundingFeeAmount
string
networkCostAmount
string

Quoted network cost in smallest units of networkCostAsset.

networkCostAsset
string

Asset used to pay the quoted network cost.

networkCostRequired
boolean

Whether the quoted network cost must be paid.

networkCosts
object[]

Itemized network costs and quote-time assumptions.

sweepFeeAmount
string
appFeeAmount
string
appFeePlatformCutAmount
string
appFees
object[]
feeAssetDetails
object
feeAmountUsd
string
totalFeeAmountUsd
string
minAmountOut
string

Unlisted destinations only: the least amount of the token, in its smallest units, the recipient receives when the swap succeeds. Enforced on chain at the recipient.

fallback
object

Unlisted destinations only: what the recipient receives if the swap into the token cannot deliver minAmountOut.

source
object
destination
object
tag
string | null

The request's tag; null when none was sent.

readToken
string

Client-key read token for this quote and its order, including private ZeroConf outcomes.