Files
neuron-tai/docs/adr/0025-tai-off-chain-accrual-and-reserved-mint.md
2026-07-13 18:51:40 +02:00

53 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ADR-0025: TAI reserved mint and off-chain accrual (phase B/C)
## Status: Accepted
## Context
ADR-0015 chose **USDT-direct custodial settlement** for alpha and near-term production. Clients pay USDT; nodes receive batched USDT SPL payouts. ADR-0002's TAI reward token, revenue-backed floor, and open-market listing gates remain the long-term design but are **not** the live payment path.
The owner wants TAI to exist without the cost and legal surface of a public launch: no AMM, no open listing, no client-facing TAI, no on-chain stake machinery.
## Decision
### Phase B — Reserved mainnet mint (cheap, optional early)
- Create a fixed-supply TAI SPL mint on **mainnet** when treasury work happens (~0.002 SOL).
- Entire initial supply sits in a **team-controlled** wallet (same custody posture as the USDT treasury today).
- **No public emission, no market, no client UX.** Mint exists for name reservation and future programmatic rewards only.
- Document mint address in operator config; do not advertise to users.
### Phase C — Off-chain TAI accrual alongside USDT (before automatic on-chain TAI payouts)
- Extend the billing ledger with **`tai_pending[wallet]`** accrued from completed inference work using a simple rule (e.g. USDT node share × configurable TAI-per-USDT rate, or fixed TAI per work unit).
- TAI accrual is **display-only + ledger-persisted** initially; nodes see pending TAI in dashboard/CLI.
- **Clients never pay or hold TAI.** USDT remains the only client-facing asset.
- Optional manual or scheduled **TAI SPL batch transfers** from the team wallet (same batching pattern as USDT `send_payouts`) — operator-triggered until automatic emission is justified by volume.
- The existing **10% protocol USDT cut** continues to accumulate as future TAI liquidity per ADR-0015/0002; do not redirect it until a deliberate liquidity event.
### Explicit non-goals (this ADR)
- Open-market listing, AMM, or DEX liquidity
- Buyback floor endpoint or backing-price oracle (ADR-0002 machinery)
- On-chain stake deposits or slash contracts
- Paying clients rebates or accepting TAI for inference
- Replacing USDT node payouts with TAI-only payouts before volume gates in ADR-0002 pass
## Relation to ADR-0002 listing gates
Public TAI listing stays gated on **$50k cumulative USDT volume** and **25+ nodes / 15+ wallets**. Phase B/C may proceed **below** those gates because they do not create a public market — only reserved supply and off-chain accounting.
Securities review remains required before any **public** distribution or listing; off-chain accrual to hired/known operators with manual SPL transfers is an operator discretion, not a product promise.
## Consequences
- USDT mainnet pilot (two-wallet setup) is unblocked without TAI complexity.
- TAI narrative is preserved at minimal cost (mint + ledger column + optional manual transfers).
- Automatic TAI emission can later reuse the US-033 settlement loop shape with a second mint and separate pending bucket.
- Dashboard and APIs must label TAI balances as **non-withdrawable** until an on-chain payout batch confirms.
## Verification
- USDT settlement tests remain authoritative for production payouts (`tests/test_settlement_loop.py`).
- When phase C lands: ledger tests for `tai_pending` accrual, idempotent gossip replication, and optional TAI batch payout adapter tests mirroring USDT.