Start here
Quickstart
Build a minimal end-to-end flow.
Choose Your Integration
Compare quote/submit, accumulation, and liquidation patterns.
Order Lifecycle
State machine, field mapping, and how quotes become orders.
Routes
Buy BTC
Convert USDC, ETH, or SOL into BTC on Spark, Bitcoin L1, or Lightning.
Sell BTC
Convert BTC or USDB into USDC, USDT, ETH, SOL, or TRX across supported chains.
Fiat Onramp
Cash App Onramp
The cheapest fiat-to-crypto path. Users pay with Cash App via Lightning (zero fees), Orchestra delivers USDC or any supported asset. Single API call.
Pay Links
Shareable payment links that never expire. Specify the stablecoin output, share the URL. Each click creates a fresh Lightning invoice at the current rate.
Reusable deposit addresses
Accumulation addresses
Reusable deposit address (Solana or any chain supported by Orchestra) that auto-delivers BTC or USDB on Spark.
Liquidation addresses
Reusable Bitcoin L1 address that auto-delivers to any chain and asset supported by Orchestra.
What It Does
Partners specify source asset, destination asset, amount, and recipient. Orchestra returns a deposit instruction and then advances the order through deposit detection, execution, and delivery. You integrate the same interface across routes:POST /v1/orchestration/quoteto getdepositAddressand quote metadata- fund the deposit instruction (address or invoice)
POST /v1/orchestration/submitto create the order- track progress via webhooks or
GET /v1/orchestration/status
Use Cases
Chains and Assets
Orchestra currently supports:- Chains:
base,solana,ethereum,arbitrum,optimism,polygon,tron,spark,bitcoin,lightning - Assets:
USDC,USDT,USDB,BTC,ETH,SOL
GET /v1/orchestration/routes to see available trading pairs, or see the route listings in:
How It Works
Under the hood, Orchestra combines three primitives:- Bridge: Bridges stablecoin value between source chains and Spark via Solana USDC as the settlement hub. Handles cross-chain transfers for chains other than Solana.
- AMM: Swaps USDB and BTC on Spark liquidity.
- Bitcoin ingress handling: Supports both confirmation-based and ZeroConf-assisted L1 deposit processing.
Execution Model
Quotes expire after 2 minutes. Expired quotes are not rejected at submit time. The engine reprices them for live market execution, enabling submissionless flows where deposits arrive after the TTL. Deposits do not need to match the quoted amount exactly. The engine adjusts amounts and fees to reflect the actual deposit before execution. Orders that cannot meet their price constraints enter an approval flow. See Order Lifecycle for the full state machine, field mapping between quotes and orders, deposit flexibility rules, and repricing behavior. See ZeroConf for instant Bitcoin L1 credit.Fees
Swaps have two cost components, both embedded in the quoted output amount:- Platform fee: 0.05% (5 bps). Always denominated in the stablecoin side of the swap (USDC for most routes, USDB for the BTC/USDB direct pair). This is Flashnet’s fee.
- LP pool fee: ~0.05% (~5 bps). Charged by the BTC/USDB pool on Spark in the input asset. When selling BTC, the LP fee is in BTC. When buying BTC with stablecoins, the LP fee is in USDB. This goes to liquidity providers, not Flashnet. The exact amount varies with pool depth and trade size.
appFees or via a registered affiliateId, settled in USDC on Solana. For standard quote/submit flows, affiliate fees require amountMode=exact_in. For pay links, affiliate fees are sender-side and work with exact-out mode. Flashnet retains a 20% platform cut of all app/affiliate fees; the remaining 80% goes to the fee recipient. The user pays the same total fee regardless of the split. Affiliate fees use a holdback model: the recipient’s 80% share accumulates and affiliates claim it via POST /v1/affiliates/:id/claim to any supported destination. The quote response includes per-fee platformCutAmount and recipientAmount fields showing the split transparently. See Quotes and Orders for the full affiliate fee model.
Settlement
- BTC settles to Spark wallets.
- Stablecoins settle to any supported chain (base, solana, ethereum, arbitrum, optimism, polygon, tron).
- Final order statuses are
completed,failed, orrefunded. - Partners track progress via webhooks or
GET /v1/orchestration/status.
What Partners Do Not Need
- Spark protocol integration
- Direct liquidity management
- Bitcoin node operations
- Bridge infrastructure management
What Partners Do Need
- Ability to fund the provided deposit instruction (address or invoice)
- Destination address for delivery
- Optional affiliate configuration (
appFeesoraffiliateId) for routes that support app fees - Webhook endpoint or polling logic
- Approval handling if
awaiting_approvalis reached (repricing or ZeroConf offers)
Limits
| Parameter | Value |
|---|---|
| Minimum | $1 equivalent |
| Maximum | $100,000 equivalent |
| BTC swap minimum | 1,000 sats |
| Platform Fee | 0.05% (5 bps); 0.20% (20 bps) for Pay Links |
| LP Pool Fee | ~0.05% (~5 bps) |
| App Fee Platform Cut | 20% of app/affiliate fees |
Next Steps
- Quickstart: Build a minimal end-to-end flow
- Choose Your Integration: Compare quote/submit, accumulation, and liquidation patterns
- Order Lifecycle: State machine, field mapping, repricing
- Stablecoin to BTC: Buy Bitcoin with USDC
- BTC to Stablecoin: Sell Bitcoin for USDC
- ZeroConf: Instant Bitcoin L1 credit
- Webhooks: Receive order status updates
- API Reference: Complete endpoint documentation