diff --git a/.env.example b/.env.example index 89b6642..e41f39d 100644 --- a/.env.example +++ b/.env.example @@ -45,6 +45,9 @@ QUOTE_MAX_AGE_MS=15000 # skip stale quotes older than this # ---- Protocol fee (§3.1) — transparent, in-tx, non-custodial --------------- # The treasury receives ONLY the fee SOL (never user funds). Swap it for a # multisig before real volume. The fee is shown in the preview before signing. +# IMPORTANT: fund the treasury once to rent-exemption (>= ~0.0009 SOL) BEFORE it +# collects fees — a fee transfer that would leave a 0-balance account below the +# rent-exempt minimum fails the whole tx ("insufficient funds for rent"). PYRE_TREASURY_WALLET=122CNV5ZLu6fqZFpEMUdUSQwDv2zs23pkYQhkNtSQk5k PYRE_FEE_BPS=500 # 5% of reclaimed rent PYRE_SWAP_FEE_BPS=100 # 1% on swaps (proceeds still go to user) diff --git a/docs/PYRE_MVP_DESIGN.md b/docs/PYRE_MVP_DESIGN.md index c2fa310..73d7241 100644 --- a/docs/PYRE_MVP_DESIGN.md +++ b/docs/PYRE_MVP_DESIGN.md @@ -120,6 +120,10 @@ fee is deliberately in the fair band: Spawn+claim+rounds = the differentiation. - Trust is the moat: always display net SOL + the exact fee before signing; never inject undisclosed instructions; never keep swap proceeds. +- **Ops:** the treasury must be funded to rent-exemption (~0.0009 SOL) before it + collects fees, or the first fee transfer into a 0-balance account fails the tx + ("insufficient funds for rent"). Verified end-to-end on mainnet 2026-05-31 + (burn→close→5% fee→Essence; tx 5ddbmLRz…). --- diff --git a/infra/status/index.html b/infra/status/index.html index f2ac45c..d940a24 100644 --- a/infra/status/index.html +++ b/infra/status/index.html @@ -147,10 +147,10 @@

Overall MVP Progress

- 58% + 60%
-
-

31 of 53 phase deliverables complete

+
+

32 of 53 phase deliverables complete

Development Phases

@@ -204,19 +204,19 @@
  • Live signed close verified e2e (needs an empty ATA)
  • -
    +

    Phase 3 Burn Junk

    - IN PROGRESS + DONE
    -

    5 / 6 complete

    +

    6 / 6 complete

    diff --git a/infra/status/status.json b/infra/status/status.json index 76c4ad1..38a9feb 100644 --- a/infra/status/status.json +++ b/infra/status/status.json @@ -51,14 +51,14 @@ { "id": 3, "name": "Burn Junk", - "state": "in_progress", + "state": "done", "items": [ { "label": "Incinerate-only classification", "done": true }, { "label": "Burn transaction builder (server re-validated, value-gated)", "done": true }, { "label": "Burn-then-close flow (+ transparent 5% fee)", "done": true }, { "label": "Stronger confirmations (destructive confirm + decode-match)", "done": true }, { "label": "Receipt update (on-chain verified)", "done": true }, - { "label": "Live signed burn verified e2e", "done": false } + { "label": "Live signed burn verified e2e (mainnet)", "done": true } ] }, {