Backend intent
The request lives in Zivoe's backend. The wallet only ever signs a standard USDCx transfer.
Flow
- Backend creates a deposit intent with a
requestRef - User's wallet sends USDCx to the treasury
- Backend watches the treasury and verifies the payment
- Zivoe issues the user's position
- User signs
- USDCx transfer only — one signature
- Wallet needs
- Standard USDCx transfer, ideally with request metadata or another proof-of-transfer
Pros
- Easiest possible external-wallet POC
- Works with any wallet that can send USDCx
- No dependency on wallets supporting custom Zivoe DAML
- Good fit for a first Loop / DFNS wallet integration
- Proves the core question: can an external wallet fund Zivoe?
Cons
- Subscription intent is off-ledger
- Audit trail depends partly on backend records
- Less protocol-pure than the current README flow
- Needs careful matching & idempotency logic
What Zivoe builds (7 items)
- Backend deposit-intent table
requestRefgeneration- Treasury USDCx event watcher
- Payment matching: sender, receiver, amount, token, expiry, reference
- Idempotency — one payment can never mint twice
- Status machine: pending → paid → minted (or expired / failed)
- Optional
PCTokenmint after payment
Choose when: the goal is to prove a real external-wallet USDCx deposit into Zivoe as quickly as possible.