Skip to content

Monerium B2B zero-touch onramp: PRD, implementation plan, forwarder contracts#1272

Draft
ebma wants to merge 19 commits into
stagingfrom
vortex-monerium-v2
Draft

Monerium B2B zero-touch onramp: PRD, implementation plan, forwarder contracts#1272
ebma wants to merge 19 commits into
stagingfrom
vortex-monerium-v2

Conversation

@ebma

@ebma ebma commented Jul 17, 2026

Copy link
Copy Markdown
Member

What

Design + first implementation slice for the new quoteless EUR → USDC onramp via Monerium whitelabel, B2B zero-touch variant (partner-sourced business clients, no Vortex-side UI interaction).

Docs (docs/prd/)

  • PRD v2 (consumer flow, phase 2) + first architecture review (dispositioned) + re-review (R01–R12; B2B-relevant findings dispositioned in the implementation plan, consumer-only ones deferred)
  • B2B variant: attestor-linked forwarder — Vortex signs Monerium's link message via a hash-constrained EIP-1271, so clients onboard through paperwork only. Includes non-technical TL;DR for sharing
  • Implementation plan: contract + backend architecture, phases, re-review dispositions
  • Deferred-decisions registry: every postponed parameter/decision (B1–B6, P1–P10, T1–T5) with the placeholder currently used — review before any deploy

Contracts (contracts/monerium-forwarder/, Foundry)

  • VortexForwarder: per-client EIP-1167 clone. EIP-1271 restricted to the fixed Monerium link message, attestor-signed, bound to the clone address (never validates redeem orders — that would be a fiat theft path). Oracle-checked EURe→EURC→USDC swap-and-forward, stranding marker (poke), permissionless dead-man sweep to the client's mandatory fallback address, client/guardian role split
  • VortexForwarderFactory: CREATE2 clones, atomic init, bounded operational params, 2-step guardian
  • 21 unit tests green (incl. redeem-hash rejection and cross-clone replay); fork + invariant suite is the next task

Status / context

  • Monerium compliance verbally accepted the pattern (conditional on fallback capability — mandatory by design here); written approval, legal review (custody/MiCA), and audit are open gates before any launch
  • Parameter values in code are placeholders per the registry
  • Adds forge-std as a git submodule → one-time git submodule update --init (documented in READMEs)

Review focus

  • isValidSignature constraint (encoding, replay, the disabled RECOVERY_HASH slot pending Monerium's recovery-message format)
  • Asset-exit exhaustiveness in VortexForwarder (plan §2.3 invariants)
  • Guardian pause being protective-only (must never trap client funds)

@netlify

netlify Bot commented Jul 17, 2026

Copy link
Copy Markdown

Deploy Preview for vortex-sandbox ready!

Name Link
🔨 Latest commit 3177984
🔍 Latest deploy log https://app.netlify.com/projects/vortex-sandbox/deploys/6a5a62bbcc4d4b000837d13e
😎 Deploy Preview https://deploy-preview-1272--vortex-sandbox.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Jul 17, 2026

Copy link
Copy Markdown

Deploy Preview for vrtx-dashboard canceled.

Name Link
🔨 Latest commit 3177984
🔍 Latest deploy log https://app.netlify.com/projects/vrtx-dashboard/deploys/6a5a62bb93e58a0008025b13

@netlify

netlify Bot commented Jul 17, 2026

Copy link
Copy Markdown

Deploy Preview for vortexfi ready!

Name Link
🔨 Latest commit 3177984
🔍 Latest deploy log https://app.netlify.com/projects/vortexfi/deploys/6a5a62bb8fb7f300087ab606
😎 Deploy Preview https://deploy-preview-1272--vortexfi.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

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