Problem Statement: Fiat-to-Crypto On-Ramp
Problem Statement: Fiat-to-Crypto On-Ramp — fiat on-ramp interview depth
On-ramp angle (sec-01)
MoonPay/Ramp-class fiat-to-crypto on-ramp where regulated fiat capture, KYC, and treasury fulfillment must complete before users see coins in a wallet. Section 1 covers problem in the understanding phase.
Problem Statement: Fiat-to-Crypto On-Ramp
Mechanism (problem)
- user pays fiat via card/ACH
- platform quotes crypto amount with spread
- KYC gate before first purchase
- custodial delivery to wallet or hosted balance
Quantified anchors (sec-01)
- 8M MAU, 400k DAU, 220 purchases/sec peak after volatility spikes
- Quote freshness <800ms p95; ETH delivery <3m p95 once fiat captured
- Fraud loss budget <15 bps; chargeback reserve 0.8% of card volume
- Hot treasury refill when per-chain balance <$500k equivalent
Failure drills
- Drill 1A: PSP auth succeeds but chain broadcast fails—freeze duplicate sends, auto-refund fiat, emit
purchase.failed. - Drill 1B: sanctions hit after capture—hold delivery, escalate case, never burn user goodwill with silent failure.
- Drill 1C: FX feed stale >30s—halt quotes, show maintenance banner, drain backlog safely.
Staff+ extensions
- Reference MoonPay widget, Ramp open banking, Wyre API lessons (partner reliance risk)
- Mention Travel Rule payload when purchase >$1,000
- Offer non-custodial delivery only if interviewer explicitly wants wallet-connect addressing
Design narrative
Depth 1.1 (problem): platform quotes crypto amount with spread must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success. Depth 1.2 (problem): KYC gate before first purchase must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success. Depth 1.3 (problem): custodial delivery to wallet or hosted balance must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success. Depth 1.4 (problem): user pays fiat via card/ACH must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success. Depth 1.5 (problem): platform quotes crypto amount with spread must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success. Depth 1.6 (problem): KYC gate before first purchase must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success. Depth 1.7 (problem): custodial delivery to wallet or hosted balance must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success. Depth 1.8 (problem): user pays fiat via card/ACH must align with idempotent purchase orchestration, PSP settlement windows, and chain finality before webhooks claim success.
Interview checkpoint (sec-01-understanding)
- Lead with user pays fiat via card/ACH and cite order state transitions.
- Explain CAP: CP purchase row in Postgres, AP chain index repairable via receipt poller.
- Tie Problem Statement: Fiat-to-Crypto On-Ramp to measurable conversion, compliance SLA, and treasury reconciliation—not generic blockchain scale talk.
1 public final class OnRampSec1 { 2 public static final String TOPIC = "problem"; 3 public static boolean canDeliver(String status) { 4 return "FIAT_CAPTURED".equals(status) || "KYC_PASSED".equals(status); 5 } 6 }
1 TOPIC_1 = "problem" 2 PEAK_PURCHASES_PER_SEC = 220 3 QUOTE_P95_MS = 800
1 export const SECTION_1 = { topic: 'problem', phase: 'understanding', quoteP95Ms: 800 };
Why interviewers care
Fiat On-Ramp interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.
Interview checkpoint
Name one failure story for Problem Statement: Fiat-to-Crypto On-Ramp that proves you understand real outages, not happy-path diagrams.
Key Highlights
- •MoonPay-class buy flow
- •licensed money movement
- •spread + FX hedge window
- •chain broadcast after fiat settles
Section Rescue Kit
Buzzwords to use:
Safe statements:
- "For Problem Statement: Fiat-to-Crypto On-Ramp, I never broadcast crypto before fiat capture is irrevocable."
- "Let me walk quote → pay → KYC → deliver before naming cloud SKUs."