Skip to main content
Orchestra supports four integration patterns. Pick the one that fits your use case.

Patterns

Comparison

Quote/SubmitPay LinksAccumulation AddressLiquidation Address
Per-deposit workCall /quote, fund, call /submitClick a URLFund only (auto-detected)Fund only (auto-detected)
SourceAny supported chainLightning (via Cash App)solana, base, ethereum, arbitrum, optimism, polygon, tronbitcoin
DestinationAny supported pairAny supported stablecoinspark (BTC or USDB)Any supported chain/asset
Price controlPer-transaction slippage, exact-outExact-out (fresh quote per click)Fixed slippage per addressFixed slippage per address
Platform fee0.05% (5 bps)0.20% (20 bps)0.05% (5 bps)0.05% (5 bps)
Fee modelDeducted from outputSender-side (receiver gets exact amount)Deducted from outputDeducted from output
Affiliate feesSupported (exact-in)Supported, sender-side (via affiliateId)Not supportedNot supported
ExpirationQuote expires in 2 minLink never expiresAddress is permanentAddress is permanent
ZeroConfConfigurable per quoteN/A (Lightning)N/A (no BTC L1 source)Configurable per address

Address Behavior

Quote deposit addresses are generated per quote. Each /quote call returns a fresh depositAddress. Do not reuse a previous quote’s deposit address for a new deposit. Accumulation addresses are deterministic and reusable. The deposit addresses are derived from the partner, destination asset, and recipient Spark address. Creating the same configuration twice returns the same addresses. Give them to end users as permanent deposit targets. Liquidation addresses are deterministic and reusable. The l1DepositAddress is a stable Bitcoin address tied to the partner and destination configuration.
Never send a second deposit to a quote’s depositAddress after that quote has been submitted or expired. Each quote generates its own deposit instruction.
Accumulation and liquidation address deposits are detected automatically by server-side webhooks. You do not need to call /submit for these flows. Register a partner webhook to receive order updates.

When to Use Each

  • Need per-transaction price control, custom slippage, or exact-out payments? Quote/Submit.
  • Shareable “pay me $X” links via Cash App? Pay Links.
  • Auto-converting deposits from any chain into BTC on Spark? Accumulation addresses.
  • Auto-converting Bitcoin L1 deposits into any supported asset? Liquidation addresses.

Next Steps