π = π — 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 — “Every micro-π has its own ID, so you can tell them apart?”

The claim

“Every unit (micro-π) has a unique identifier, and through it you can trace units and tell mined Pi apart from exchange Pi.”

The truth: the data model is misunderstood ❌

Pi Network (built on Stellar) does not use a UTXO model. It uses an Account / Balance model:

Model How it stores value Example
UTXO (Bitcoin) A list of “unspent outputs”, each with a txid:vout id quasi-ID per piece
Account/Balance (Stellar/Pi) A single numeric balance per (account + asset) one number, no pieces

Direct on-chain evidence

// GET https://api.mainnet.minepi.com/accounts/GC55...
{
  "balance": "2.0000000",
  "asset_type": "native"
}

👉 The balance is “2.0000000” — a single number. There is no array of pieces, no per-unit ID, and no txid for each π.

Run examples/coin-id-check.mjs to see it for yourself.


What does “micro-π” even mean? It’s just a decimal place, not an ID


The IDs that do exist on Pi/Stellar — and what each identifies

| Identifier | Form | Identifies | |—|—|—| | Account ID | G... | an account — not a coin | | Muxed Account ID | M... | a user inside a pooled account — not a coin | | Contract ID | C... | a smart contract | | Transaction Hash | txid | a transaction | | Operation ID | number | an operation | | Claimable Balance ID | 0000... | a locked balance container — not a coin | | Ledger Sequence | number | a ledger (block) |

⚠️ None of them is “a π unit ID”.


A common conflation

People merge three completely different things:

  1. Coin ID — exists only in a UTXO model. ← Not present in Pi.
  2. Account ID (G/M) — tells you who, not where the coin came from.
  3. Transaction ID (txid) — tells you which operation, not the origin of the units.

Why it wouldn’t help even if it existed


Conclusion


Sources