Skip to main content
Flashnet Orchestra is an async orchestration protocol. It gives you deposit instructions, executes the route, and delivers the output asset to your recipient.

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 supported stablecoins and native assets, including Tempo USDC, into BTC on Spark, Bitcoin L1, or Lightning.

Sell BTC

Convert BTC or USDB into USDC, PathUSD, USDT, ETH, SOL, or TRX across supported chains.

Fiat Onramp

Lightning Onramp

The cheapest fiat-to-crypto path. Users pay via any Lightning-compatible app, Orchestra delivers USDB, BTC on Spark or Bitcoin L1, USDC, or any supported asset. Custom pricing. 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/quote to get depositAddress and quote metadata
  • fund the deposit instruction (address or invoice)
  • POST /v1/orchestration/submit to 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, plasma, tempo, spark, bitcoin, lightning
  • Assets: USDC, USDT, USDB, BTC, ETH, SOL, PathUSD
Tempo USDC is supported as both a source and destination asset. Tempo PathUSD is currently supported as a destination asset. Not all chain/asset combinations are valid. Use 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:
  1. Bridge: Bridges stablecoin value between source chains and Spark via Solana USDC as the settlement hub. Handles any chain-to-chain transfers.
  2. AMM: Swaps USDB and BTC on Spark liquidity.
  3. Bitcoin ingress handling: Supports both confirmation-based and ZeroConf-assisted L1 deposit processing.
Partners do not integrate these primitives directly. The protocol abstracts them as quote, submit, status, and webhook flows.

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: Custom pricing based on route and volume. The fee is denominated on the stablecoin side of the swap (USDC for most routes, USDB for the BTC/USDB direct pair). Direct BTC passthrough routes charge the platform fee in BTC. The /estimate and /quote endpoints return the exact fee for each transaction.
  • LP pool fee: 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.
Both fees are embedded in the quoted output. The user sends X, receives the quoted Y. No gas fees, no separate line items. Onramp and Pay Links use custom pricing. USDB routes are cheaper because they settle natively on Spark without bridging. All fees on onramp and pay links are sender-side: the recipient receives the configured output net of route-specific execution costs, and the sender’s Lightning invoice is sized to cover output plus fees. For lightning:BTC -> bitcoin:BTC, the final on-chain withdrawal also pays the network withdrawal fee quoted by Spark at delivery time. That withdrawal fee is separate from Flashnet’s platform fee. Optional affiliate fees allocate an app fee to one or more recipients on supported routes. Fees are specified inline via 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. Affiliate fees use a holdback model and affiliates claim accumulated fees via POST /v1/affiliates/:id/claim to any supported destination. The quote response includes per-fee split details. 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, plasma, tempo).
  • Final order statuses are completed, failed, or refunded.
  • Partners track progress via webhooks or GET /v1/orchestration/status.
Bitcoin L1 deposits can use ZeroConf for instant credit or wait for on-chain confirmations.

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 (appFees, affiliateId, or affiliateIds) for routes that support app fees
  • Webhook endpoint or polling logic
  • Approval handling if awaiting_approval is reached (repricing or ZeroConf offers)

Limits

ParameterValue
Minimum$1 equivalent
Maximum$100,000 equivalent
BTC swap minimum1,000 sats
Platform FeeCustom pricing based on route and volume
App Fee Platform Cut20% of app/affiliate fees
Some USDC-source routes include a sweep fee that creates an effective minimum higher than $1. The quote response includes sweepFeeAmount when applicable. See Effective Limits for details.

Next Steps