π = π — Pi fungibility proof

A native Pi payment carries no observable per-unit mining origin on the Pi Mainnet ledger.

View the Project on GitHub aybvip/pi-fungibility

FAQ — Source (bought vs mined): what the ledger sees vs off-chain

Short answer

On-chain: nothing. The Pi Mainnet ledger records native payments as asset_type: "native" with amount, from, to, memo_type, and (for pooled accounts) to_muxed_id. It does not record whether a unit was mined, purchased on an exchange, or received from an app.

Off-chain: everything that matters for accounting/tax. Invoices, trade history, deposit/withdrawal receipts, KYC, timestamps, and the venue’s internal ledgers are separate from the public ledger.

The technical point (matches this repo)

What this does NOT imply

The clean boundary

Question Where the answer lives
Can the chain tell if this π was mined vs bought? No. (on-chain) — this repo proves that.
Can your records show how you acquired it? Yes. (off-chain receipts/trade logs/wallet history).
Does that difference create two different assets? No. They are the same native, fungible asset (π = π).

Practical takeaway

Keep clean records by acquisition method (purchase receipts, withdrawal tx hashes, mining/migration timestamps). Do that for compliance — it doesn’t contradict fungibility. The chain’s inability to see origin is exactly why you must preserve your own off-chain documentation.

Reproduce (read-only)

node examples/exchange-wallets.mjs   # shows muxed id (who) vs no origin
node examples/provenance-check.mjs  # shows no origin field on a real payment

Context