A native Pi payment carries no observable per-unit mining origin on the Pi Mainnet ledger.
“Every unit (micro-π) has a unique identifier, and through it you can trace units and tell mined Pi apart from exchange Pi.”
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 |
// 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.
1 π = 10,000,000 micro-π.| 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”.
People merge three completely different things:
txid:vout — yet chain analysis is probabilistic and limited,
because outputs get merged and split.G), and every transaction has an ID (txid).examples/coin-id-check.mjs