Skip to content

feat: optional Flashnet Orchestra pay-in and payout rails - #128

Open
ethanmarcuss wants to merge 2 commits into
zonelessdev:mainfrom
ethanmarcuss:feat/orchestra-rails
Open

feat: optional Flashnet Orchestra pay-in and payout rails#128
ethanmarcuss wants to merge 2 commits into
zonelessdev:mainfrom
ethanmarcuss:feat/orchestra-rails

Conversation

@ethanmarcuss

@ethanmarcuss ethanmarcuss commented Aug 20, 2026

Copy link
Copy Markdown

Summary

  • Optional Flashnet Orchestra rails for hosted checkout: Cash App or USDC/USDT on another chain, settling to the platform Solana USDC wallet. Native solana:USDC checkout is unchanged.
  • Pay-in/payout pairs come from GET /v1/orchestration/routes (6-decimal USDC/USDT that route both ways with solana:USDC). Optimism USDT is omitted because Flashnet only routes it to BTC/Lightning/Spark.
  • Desktop Cash App wait state shows a QR of the launch URL with the Cash App mark so a phone can scan; mobile keeps Open in Cash App.
  • Payouts to a non-Solana dest quote solana:USDC → dest, fund Orchestra's deposit address with the existing Solana transfer, then stay in_transit until POST /v1/payouts/:id/sync.
  • Zoneless holds a Flashnet server key only (fn_). Checkout never talks to Flashnet. Simulated Solana can still use live Cash App when a key is set.

Why this shape

Ledger stays USDC.sol. Convert only at the Flashnet edge. Subscriptions stay Solana-wallet only.

Demo (no Flashnet credentials)

  1. Leave ORCHESTRA_API_KEY unset. Test mode already uses simulated settlement.
  2. Create a payment-mode Checkout Session or Payment Link.
  3. Open /c/{slug} — picker: Solana wallet, Cash App, Other chain.
  4. Cash App or Other chain → Pay → Simulate payment.
  5. Onboard a seller with a listed dest (e.g. Base USDC). Payout notes the conversion; simulated sync completes.

Live

ORCHESTRA_API_URL=https://orchestration.flashnet.xyz
ORCHESTRA_API_KEY=fn_...

Cash App onramps require at least $1.00. Details in docs/orchestra.md.

Test plan

  • npx nx test api
  • npx nx test web
  • Click through simulated Cash App + Other chain checkout (desktop QR on Cash App)
  • Onboard a Base/USDC (or Base USDT) seller and run a simulated payout + sync
  • With a live fn_ key: Cash App onramp dest is the platform Solana USDC wallet; Other chain list matches Flashnet routes; quote poll uses /v1/orchestration/status

ethanmarcuss and others added 2 commits August 20, 2026 12:02
Keep native solana:USDC intact and convert only at the edges so checkout can take Cash App or other stables and payouts can leave Solana without changing the ledger.

Co-authored-by: Cursor <cursoragent@cursor.com>
…checkout

Drive pay-in/payout pairs from the live route table, show a desktop Cash App QR, and keep auth rate limits from colliding with checkout polling.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant