test+docs: live mainnet burn e2e verified; treasury rent-exempt requirement

End-to-end burn proven on mainnet (test wallet): build → sign → broadcast →
confirm → receipt → Essence. tx 5ddbmLRz… burned a dust token, closed the
account, returned 0.00197 SOL to the user, sent the 5% (103704 lamports) to the
treasury, recorded as Essence (Round #1 = 103704). Re-scan confirms the account
is gone; treasury credited; DB row written.

Discovered + documented: the treasury must be funded to rent-exemption before
collecting fees (a fee transfer into a 0-balance account fails "insufficient
funds for rent"). Noted in .env.example + design §3.1. Tracker: Phase 3 done.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-31 06:48:11 +00:00
parent b98b904896
commit 28064c5131
4 changed files with 16 additions and 9 deletions

View File

@@ -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)