Skip to main content
Flashnet Orchestra is an async orchestration API for moving between BTC and stablecoins. It gives you deposit instructions, executes the route, and delivers the output asset to your recipient.

Start here

Routes

Fiat Onramp

Reusable deposit addresses

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, spark, bitcoin, lightning
  • Assets: USDC, USDT, USDB, BTC, ETH, SOL
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 cross-chain transfers for chains other than Solana.
  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 API 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: 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.
Total cost is ~0.10% (~10 bps). Both fees are embedded in the quoted output. The user sends X, receives the quoted Y. No gas fees, no separate line items. Pay Links use a platform fee of 0.20% (20 bps). All fees on pay links are sender-side: the recipient receives the exact configured output amount, and the sender’s Lightning invoice is sized to cover output plus fees. 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. 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, 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 or affiliateId) 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 Fee0.05% (5 bps); 0.20% (20 bps) for Pay Links
LP Pool Fee~0.05% (~5 bps)
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