epic: fiat on and off ramps #8

Open
opened 2026-09-15 12:35:52 +00:00 by grenade · 1 comment
Owner

Goal

Buy with fiat and cash out to fiat from the wallet without the wallet custodying anything or embedding a provider's page. The provider session is built by the relay on our infrastructure, which holds the API secrets and signs URLs, and opened in the system browser. On-ramp purchases land on a transit chain and continue through the swap module; off-ramps go the other way.

Facts the design rests on

  • MoonPay, Transak and Coinbase Onramp require a backend to sign the URL or mint a session token; Onramper and Ramp Network accept a client-side key. None list NEAR or Quantus as a direct destination; Stripe has no NEAR at all.
  • Every provider does its own KYC. The wallet collects nothing.
  • Until Quantus is on Intents, an on-ramp ends at the transit asset, which this wallet does not hold. The honest v1 is "buy to an Intents deposit address" once that exists, and a disabled button with a reason until then.

Operator-owned decisions

  • Which provider(s) to sign up with, and the entity that signs the agreement. Blocks everything past the trait and the relay stub.
  • Supported jurisdictions at launch.

Definition of done

A user starts an on-ramp from the wallet, completes it in the browser, and the wallet shows the resulting Intents order progressing to their qz… address. Off-ramp: a QTC send to the provider's address via the swap module, with the provider's payout confirmed in the browser. Both with real money on the smallest amounts the provider allows.

## Goal Buy with fiat and cash out to fiat from the wallet without the wallet custodying anything or embedding a provider's page. The provider session is built by the relay on our infrastructure, which holds the API secrets and signs URLs, and opened in the system browser. On-ramp purchases land on a transit chain and continue through the swap module; off-ramps go the other way. ## Facts the design rests on - MoonPay, Transak and Coinbase Onramp require a backend to sign the URL or mint a session token; Onramper and Ramp Network accept a client-side key. None list NEAR or Quantus as a direct destination; Stripe has no NEAR at all. - Every provider does its own KYC. The wallet collects nothing. - Until Quantus is on Intents, an on-ramp ends at the transit asset, which this wallet does not hold. The honest v1 is "buy to an Intents deposit address" once that exists, and a disabled button with a reason until then. ## Operator-owned decisions - Which provider(s) to sign up with, and the entity that signs the agreement. **Blocks everything past the trait and the relay stub.** - Supported jurisdictions at launch. ## Definition of done A user starts an on-ramp from the wallet, completes it in the browser, and the wallet shows the resulting Intents order progressing to their `qz…` address. Off-ramp: a QTC send to the provider's address via the swap module, with the provider's payout confirmed in the browser. Both with real money on the smallest amounts the provider allows.
grenade added the epic label 2026-09-15 12:38:48 +00:00
Author
Owner

Children, in dependency order: #43 (FiatRamp port, relay session, system browser) → #44 (first provider, webhooks). #44 is blocked on choosing and signing with a provider.

Children, in dependency order: #43 (FiatRamp port, relay session, system browser) → #44 (first provider, webhooks). #44 is blocked on choosing and signing with a provider.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/wallet#8