Works on Mac · Linux · Windows · Python 3.8+
| Property | Value |
|---|---|
| Total Supply | 125,000,000 TMPL |
| Smallest Unit | 0.00000001 TMPL (1 unit = 10⁻⁸ TMPL) |
| Reward Per Round | 1.0575 TMPL |
| Round Interval | Every 10 seconds |
| Distribution Period | ~37.5 years |
| Eligible Nodes Per Slot | ~10 (fixed target, regardless of network size) |
| Identity Maturation Period | 200 slots (~33 minutes) |
| Confirmation Depth | 3 slots (~30 seconds) |
| Checkpoint Interval | Every 1,000 slots (~2.8 hours) |
| Transaction Fee | 0.1% of amount (min 0.0001, max 0.01 TMPL) → slot winner |
| Pre-mine | None |
| Insider Allocation | None |
TIMPAL runs on Mac, Linux, and Windows. You need Python 3.8 or newer.
That's everything. No configuration files. No accounts. No KYC.
When you start TIMPAL for the first time, it generates a 12-word recovery phrase you must write down, creates a quantum-resistant wallet, and connects to the worldwide network automatically.
Your node broadcasts a signed identity registration to the network and waits for it to be included in a block. After 200 slots (~33 minutes) your identity is mature and your node begins competing in the VRF lottery automatically.
While your node is running, type these at the > prompt:
| Command | What it does |
|---|---|
| balance | Show your TMPL balance and full wallet address |
| chain | Chain height, tip hash, orphan count, and recent confirmed blocks |
| peers | List online nodes currently connected to you |
| send | Send TMPL interactively |
| history | Your last rewards and transactions |
| network | Your node and network stats |
| quit | Shut down your node cleanly |
You can also run commands from a second terminal without stopping your node:
Your wallet is stored in one file:
TIMPAL is a chain-anchored distributed ledger. Every node holds a complete copy. There is no proof-of-work. Each reward is a block cryptographically linked to the previous one. All balances, amounts, and fees are stored as integer units (1 TMPL = 100,000,000 units) to eliminate floating-point divergence across hardware.
Every new node broadcasts a signed REGISTER message to its peers. This message contains the node's device ID, public key, and a Dilithium3 signature proving ownership. Peers collect pending registrations and embed up to 10 of them in each block they produce.
When a block is accepted by the network, all registrations it contains are recorded with the block's slot number as the identity's first_seen_slot. This value is stored in the ledger's identity table and survives every checkpoint — it can never be lost or pruned.
Every 10 seconds, one node wins 1.0575 TMPL via a compete-based scheme. ~10 nodes are selected per slot regardless of total network size.
Every node independently verifies each COMPETE message and applies the identical tiebreak rule. All honest nodes agree on the same winner without any coordination.
After accepting a new block, every mature node produces a Dilithium3 attestation over f"attest:{block_hash}:{slot}" and broadcasts it to peers. A block is cryptographically final when more than 2/3 of all mature identities have attested it.
Each attestation is bound to the public key registered on-chain for that identity. An attacker cannot forge an attestation for another node without its private key.
Blocks achieve cryptographic finality at ~30 seconds via the attestation mechanism. The longer valid chain wins on fork. Out-of-order blocks are held in an orphan pool and attached once their parent arrives. Every 1,000 slots (~2.8 hours), a checkpoint prunes the raw history while preserving all balances and the full identity table. Before accepting a peer checkpoint, every node independently recomputes balances from its own chain history — a checkpoint with corrupted balances is rejected outright.
| Method | How | Range |
|---|---|---|
| Local | UDP broadcast on port 7778 | Same WiFi network |
| Global | TCP bootstrap at bootstrap.timpal.org:7777 | Worldwide |
| Compete messages | Direct P2P gossip between peers | Worldwide — no bootstrap required |
| Attestations | Direct P2P gossip between peers | Worldwide — no bootstrap required |
| Identity Gossip | REGISTER message direct gossip to peers | Worldwide — no bootstrap required |
| Property | Value |
|---|---|
| Total Supply | 125,000,000 TMPL |
| Smallest Unit | 0.00000001 TMPL |
| Reward Per Round | 1.0575 TMPL |
| Round Interval | Every 10 seconds |
| Distribution Period | ~37.5 years |
| Eligible Nodes Per Slot | ~10 |
| Identity Maturation | 200 slots (~33 minutes) |
| Confirmation Depth | 3 slots (~30 seconds) |
| Checkpoint Interval | Every 1,000 slots (~2.8 hours) |
| Transaction Fee | 0.1% of amount (min 0.0001 TMPL, max 0.01 TMPL) → slot winner |
| Pre-mine | None |
| Insider Allocation | None |
Era 1 — Distribution (Years 0 to ~37.5): Every transaction carries a fee of 0.1% of the send amount (minimum 0.0001 TMPL, maximum 0.01 TMPL), paid to the slot winner. Nodes also earn through the VRF lottery: 1.0575 TMPL every 10 seconds. 125 million TMPL distributed over ~37.5 years. No pre-mine.
Era 2 — Sustaining (Year ~37.5 onwards): Lottery rewards stop. Supply is fixed at 125 million forever. Transactions still carry a 0.1% fee paid to the slot winner. Network self-sustaining indefinitely through fees alone.
The transition is automatic. No upgrade required. No vote.