Local test checklist (sandbox)
The sandbox pane (sandbox/sandbox-pane.html) supplies synthetic browser and RN message paths with zero 0xramp access. Both examples run against it.
- Sandbox loads;
psp/readyfires andonReadymarks it. - Simulated send: confirm returns
{ txid }-> result reply; decline -> cancel reply. - Simulated pending: return
{ txids: [a, b] }-> pending reply; recovery screen shows. - Kill the app mid-claim; restart -> journal replays pending, wallet not re-invoked.
-
onProtocolErrorcloses the bridge on a garbage message. - RN: navigation lock rejects off-origin loads;
onMessagevalidates sender URL. - Electron: IPC sender/frame/URL verification rejects spoofed messages.
- Attribution string renders at the ramp entry point.
Go-live checklist
Required before enabling a live wallet adapter:- 0xramp issued the partner ID, exact API/pane origins, and enabled corridor.
-
POST /api/partner/v0/sessionsreturns a valid, loadable session and the ticketedGET .../sessions/:sessionRefworks for it. A homepage, OPTIONS response, or local mock is insufficient. - The deployed pane passes the shared PSP-v1 fixtures (pending and multi-transaction results included) and preserves request IDs across reconnects.
- Lost create responses have a server-supported reconciliation procedure.
- Native adapter shows amount, destination, and fee; uses integer units; checks balance; respects cancellation before signing; associates requests with wallet history.
- Wallet-scoped journal/session storage survives process death; cross-process claims are atomic; backup/reinstall/unavailable-storage/large-record cases tested.
- Adapter preserves all returned txids and identifies the deposit by outputs; unknown results never auto-resend.
- Real iOS and Android devices pass initial-load/redirect/popup origin locks, passkeys, foreground/background, registered return links, and agreed bank/browser handoff. Native fetch refuses API redirects.
- A controlled real session proves both Zcash deposit and authoritative fiat settlement, including failure, expiry/late deposit, and interrupted return.
- Protocol/fixture CODEOWNERS approved the wire surface before merge.