vault
01 — Overview
Overview
What DAX Chain is, who it serves, and what is in and out of scope. Start here if you are new to the vault.
Mission
Be the payments rail for retail crypto in our launch markets — a single account that lets individuals hold a multi-asset balance and lets merchants invoice, accept payment links, and run payouts without learning to integrate Fireblocks, Elliptic, and a card acquirer themselves.
Audience
| Persona | Pain we solve | Where they touch the product |
|---|---|---|
| Individual user | Buy crypto with a card, hold it, send to friends, swap, sell back to fiat. | 03-Domains#Buy, 03-Domains#Sell, 03-Domains#Send, 03-Domains#Convert, 03-Domains#Receive |
| Merchant operator | Invoice clients, run weekly payouts to contributors, track fees per operation. | 03-Domains#Invoices, 03-Domains#Pay-to, 03-Domains#Payouts |
| Integrator (dev at merchant) | Programmatic invoice / payout creation. | /api/v1/payments, /api/v1/payouts, 05-External Providers |
| Internal ops / compliance | Block bad actors, force KYC outcomes, tune fees, reconcile. | 06-Admin Console |
In-scope (MVP)
- Multi-asset wallet covering BTC, ETH, LTC, TRX, USDT (ETH + TRX), USDC (ETH).
- Buy via card, sell to fiat, convert across pairs.
- Send to whitelisted addresses with per-tier % fee.
- Receive on per-user deposit addresses with per-tier % fee deducted.
- Invoices with per-invoice sub-vault, partial top-up, expiry, due-date sweep.
- Pay-to public links (per-payer sub-vaults, optional email confirmation).
- Payouts: CSV upload, AML risk gating, Fireblocks-mocked execution.
- Admin: users (block, KYC, impersonate), transactions list, fee tiers, outbound emails.
Out of scope (MVP)
- Derivatives, lending, staking.
- Custody for jurisdictions outside our launch markets.
- Multi-currency fiat (EUR only).
- Tax reporting — see 09-Open Questions#Tax & regulatory.
- Mobile apps (web responsive only).
Headline KPIs
| KPI | Target by GA | Source of truth |
|---|---|---|
| Daily active wallets | 5k | transactions.actor_user_id distinct |
| Payout success rate | ≥ 99.5% (excluding AML rejections) | payout_rows.status |
| AML cache hit rate | ≥ 70% | lib/aml#lookupAml |
| Time to first invoice settlement | < 5 min P50 | invoices.paid_at - opened_at |
| Mock-mode → live-mode migration | 0 schema changes | provider abstraction |
The "0 schema changes for live cutover" target is the explicit design constraint behind the provider abstraction in