WDK logoWDK documentation

Route with Orchestra

Use the Flashnet Orchestra community Swidge module for BTC and stablecoin routes from WDK wallet accounts.

Community modules are developed and maintained independently by third-party contributors.

Tether and the WDK Team do not endorse or assume responsibility for their code, security, or maintenance. Use your own judgment and proceed at your own risk.

Use wdk-protocol-swidge-orchestra when your wallet needs a WDK SwidgeProtocol provider for BTC and stablecoin routes served by Flashnet Orchestra. The package connects WDK wallet accounts to the Flashnet Orchestra API for route discovery, quotes, source payments, order submission, and status tracking.

The package is maintained by Flashnet at flashnetxyz/wdk-protocol-swidge-orchestra.

For provider-maintained route support, integration patterns, and API concepts, see the Flashnet Orchestra docs.

When to use it

Use Orchestra when your application needs to route between BTC on Spark or Bitcoin L1 and stablecoin routes returned by Orchestra.

Use caseModule
BTC and stablecoin routes returned by Orchestra. Treat the live Orchestra route matrix as provider-level data, then expose routes through getSupportedChains(), getSupportedTokens(options?), registered WDK source accounts, and the package caveats below.wdk-protocol-swidge-orchestra
Standalone EVM token swaps through Velora@tetherto/wdk-protocol-swap-velora-evm
Standalone USDT0 bridge routes@tetherto/wdk-protocol-bridge-usdt0-evm

For standard WDK execution through this package, do not expose Lightning as a source route. The package sends source payments from WDK accounts and submits source transaction identifiers to Orchestra; it does not implement a source Lightning receive-request flow.

Responsibility model

AreaOwner
Wallet accounts, key material, and source transaction signingWDK wallet modules
Route quotes, deposit addresses, order state, and settlementFlashnet Orchestra
Durable state storage and recovery policyHost wallet application

quoteSwidge() is side-effect-free. swidge() and executeSwapIntent() can move funds from the source account. Production wallets should persist the full intent and state objects returned by the package before and after source payment.

Key capabilities

  • Discover route support with getSupportedChains() and getSupportedTokens(options?).
  • Quote routes with quoteSwidge(options) before showing a confirmation screen.
  • Execute Swidge routes with swidge(options, config?) when the host app has recovery around the call.
  • Use prepareSwap() and executeSwapIntent() when you need an explicit persistence boundary before source funds move.
  • Recover or continue orders with submitSourceTx(), resumeSwap(), getOrderStatus(), waitForCompletion(), and subscribeOrder().

Next steps

On this page