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
- ✓Incinerate-only classification
- ✓Burn transaction builder (server re-validated, value-gated)
- ✓Burn-then-close flow (+ transparent 5% fee)
- ✓Stronger confirmations (destructive confirm + decode-match)
- ✓Receipt update (on-chain verified)
- - ○Live signed burn verified e2e
+ - ✓Live signed burn verified e2e (mainnet)
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 }
]
},
{