TIME Coin Documentation
The TIME Coin testnet is live. Masternodes are running, block rewards are being distributed, and the GUI wallet is available to install today.
Current Phase (Q1 2026): TLS transport encryption & network stability hardening
Next: Governance & Ecosystem Q2 2026 → Scalability Q3–Q4 2026 → Mainnet 2027
Welcome to the TIME Coin documentation. TIME is a cryptocurrency featuring 10-minute checkpoint blocks, sub-second transaction finality, and a fixed 100 TIME/block emission model with no pre-mine and no halving.
🔧 Built With: Rust for performance and security
📍 View Progress: Development Roadmap
Quick Start
The testnet is live. The fastest way to get started is to install the GUI wallet on your local machine, then optionally set up a masternode on a Linux server.
1. Install the Wallet (Local Machine)
Windows: Download and run the installer — no Rust or build tools required.
⬇ Download TIMECoinWallet-Setup.exe
Linux / macOS: Build from source:
git clone https://github.com/time-coin/time-wallet.git
cd time-wallet
cargo build --release --bin wallet-gui
./target/release/wallet-gui
2. Run a Masternode (Linux Server)
git clone https://github.com/time-coin/time-masternode.git
cd time-masternode
sudo bash scripts/install-masternode.sh testnet
See the Wallet Setup and Masternode Setup sections for full step-by-step guides.
Installation
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| OS | Linux, macOS, Windows 10+ | Ubuntu 22.04 LTS |
| RAM | 2GB | 4GB+ |
| Storage | 10GB | 50GB SSD |
| Internet | 1 Mbps | 10 Mbps+ |
Windows — Installer (Recommended)
The easiest way to get started on Windows. No Rust, no compiler, no command line needed.
- Go to the latest release page and download TIMECoinWallet-Setup-x.x.x.exe.
- Run the installer. If Windows Defender SmartScreen appears, click More info → Run anyway (the app is unsigned during testnet).
- Follow the setup wizard — choose an install directory and click Install.
- Launch TIME Coin Wallet from the Start Menu or Desktop shortcut.
- On first launch, choose Create New Wallet and write down your 12-word seed phrase. Store it somewhere safe — it cannot be recovered if lost.
TIME0. Mainnet addresses will begin with TIME1 after mainnet launch.
Windows — ZIP (Portable)
No installation required — run directly from any folder.
- Download time-wallet-windows-x86_64.zip from the latest release.
- Extract the ZIP to a folder of your choice.
- Double-click wallet-gui.exe to launch.
Install from Source
# Clone repository
git clone https://github.com/time-coin/time-masternode.git
cd time-coin
# Install Rust (if not installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Build
cargo build --release --bin timed --bin time-cli
# Run tests
cargo test
# Install
sudo cp target/release/timed /usr/local/bin/
sudo cp target/release/time-cli /usr/local/bin/
Architecture Overview
TIME coin uses a unique architecture that separates transaction finality from block production:
Key Components
- 10-Minute Blocks: Periodic immutable checkpoints, not transaction gatekeepers
- Masternode Network: Byzantine Fault Tolerant consensus for instant validation
- Block Rewards: 100 TIME per block distributed to masternodes and block producers
- State Management: Real-time UTXO tracking for instant finality
10-Minute Block System
How It Works
Unlike traditional blockchains where blocks dictate transaction finality, TIME separates these concerns:
- Transaction Submission: User broadcasts transaction to network
- Instant Validation: Masternodes validate via BFT consensus (Sub-Second)
- Immediate Finality: Transaction is spendable immediately after consensus
- 10-Minute Checkpoint: All transactions bundled into immutable block every 10 minutes
Block Structure
Block {
version: u32,
timestamp: i64, // Unix timestamp
previous_hash: Hash,
merkle_root: Hash,
transactions: Vec<Tx>,
masternode_signatures: Vec<Signature>,
block_reward: u64,
}
Block Schedule
Blocks are produced every 10 minutes. The window for block production is 30 seconds, allowing for network synchronization.
Transactions
Transaction Fees
Fees are tiered by amount with a flat minimum floor of 0.01 TIME:
| Amount | Fee Rate | Example |
|---|---|---|
| < 100 TIME | 1% | 50 TIME → 0.50 TIME fee |
| 100 – 999 TIME | 0.5% | 500 TIME → 2.50 TIME fee |
| 1,000 – 9,999 TIME | 0.25% | 5,000 TIME → 12.50 TIME fee |
| ≥ 10,000 TIME | 0.1% | 50,000 TIME → 50 TIME fee |
Creating a Transaction
# Send 100 TIME (fee added on top)
time-cli sendtoaddress TIME1recipient... 100
# Deduct the fee from the sent amount instead
time-cli sendtoaddress TIME1recipient... 100 --subtract-fee
# Attach an encrypted memo (visible only to sender + recipient)
time-cli sendtoaddress TIME1recipient... 100 --memo "Invoice #42"
# Return TXID immediately without waiting for finality confirmation
time-cli sendtoaddress TIME1recipient... 100 --nowait
Transaction Finality
Consensus Mechanism
Byzantine Fault Tolerant (BFT)
TIME uses a practical BFT consensus among masternodes:
- Proposal: Transaction broadcast to all masternodes
- Pre-vote: Masternodes validate and pre-vote
- Commit: If 2/3+ pre-vote YES, masternodes commit
- Finality: Transaction finalized with 2/3+ commits
Security Properties
- Tolerates up to 1/3 malicious masternodes
- No double-spend possible after finality
- Deterministic finality (no probabilistic confirmation)
- Sybil-resistant through stake requirements
Masternode Overview
Four-Tier System
| Tier | Stake Required | Reward Pool | Voting Weight |
|---|---|---|---|
| Free | 0 TIME | 8 TIME/block (shared) | 1x (no governance) |
| Bronze | 1,000 TIME | 14 TIME/block | 10x (1x governance) |
| Silver | 10,000 TIME | 18 TIME/block | 100x (10x governance) |
| Gold | 100,000 TIME | 25 TIME/block | 1,000x (100x governance) |
Responsibilities
- Validate incoming transactions
- Participate in BFT consensus rounds
- Maintain network connectivity
- Vote on governance proposals (Bronze tier and above)
- Produce checkpoint blocks (selected randomly)
Rewards Distribution
Block Rewards:
└─ 100 TIME per block + transaction fees
Distribution per block:
├─ 30 TIME to block producer (VRF-selected)
├─ 5 TIME to on-chain treasury (governance-controlled)
├─ 25 TIME to Gold tier pool (single winner per block)
├─ 18 TIME to Silver tier pool (single winner per block)
├─ 14 TIME to Bronze tier pool (single winner per block)
└─ 8 TIME shared among Free tier nodes (up to 25 recipients)
Masternode Setup Guide
Before setting up a masternode, install the TIME Coin GUI wallet on your local machine and copy your receive address. You will be asked for this address during installation so that block rewards are paid directly to your personal wallet — not stored on the server.
The
install-masternode.sh script handles everything: dependencies, Rust toolchain, building from source, config generation, systemd service setup, and firewall rules. Run it as root on an Ubuntu/Debian server.
We recommend running your masternode on a dedicated VPS from a reputable provider such as Liquid Web, DigitalOcean, or Vultr. Choose Ubuntu LTS (Long Term Support) as your operating system — currently Ubuntu 24.04 LTS or 22.04 LTS. A dedicated VPS ensures your node stays online 24/7 with a stable public IP address.
Prerequisites
- Ubuntu LTS 22.04 or 24.04 VPS with a public IP (Liquid Web, DigitalOcean, Vultr, or similar)
- Minimum: 1 vCPU, 1 GB RAM, 30 GB disk (Free / Bronze / Silver tiers)
- Gold tier: 4 GB RAM, 2 vCPU, 50 GB disk recommended
- Port 24000 open for P2P (mainnet) or 24100 (testnet)
- Collateral: 1,000 TIME (Bronze), 10,000 TIME (Silver), or 100,000 TIME (Gold) — or 0 for Free tier
Quick Install
1. Clone the Repository
git clone https://github.com/time-coin/time-masternode.git
cd time-masternode
2. Run the Install Script
# Mainnet
sudo bash scripts/install-masternode.sh mainnet
# Testnet
sudo bash scripts/install-masternode.sh testnet
Running both networks: You can run mainnet and testnet side by side on the same server — ports and data directories don't overlap. Just run the installer twice, once for each network.
The script will:
- Install all system dependencies (
build-essential,cmake,clang,libssl-dev, etc.) - Install Rust 1.75+ if not present
- Build
timedandtime-clifrom source in release mode - Create
/root/.timecoin/time.confwith auto-generated RPC credentials - Create
/root/.timecoin/masternode.conf - Install and enable the
timed.servicesystemd unit - Open the P2P port in UFW (if installed)
During installation the script will prompt: "Reward address (or Enter for default):"
Paste your wallet's receive address here. You copied this from the Receive tab in the GUI wallet during wallet setup.
If you press Enter, rewards go to the masternode's own on-chain address. This is not recommended — see the security note below.
Your masternode's address is registered publicly on the network. Everyone can see it, including how much TIME has accumulated. Using it as your reward address creates real risks:
• High-value target: A known address with a growing balance attracts attackers who may target the server specifically to trigger a slashing event or steal funds.
• Server compromise = funds lost: If your VPS is ever breached, the attacker has direct access to the wallet that holds all accumulated rewards.
• Privacy: Anyone watching the chain can track exactly how much your node earns in real time.
Sending rewards to your personal GUI wallet on a separate machine keeps your earnings airgapped from the server entirely. Even if the server is compromised, your TIME is safe.
After Installation
3. (Staked Tiers) Send Collateral
Free-tier nodes need no collateral. For a staked tier, send the exact collateral amount to yourself, then wait for 3 block confirmations (~30 minutes) before proceeding:
# Bronze – 1,000 TIME
time-cli sendtoaddress TIME1your_address 1000
# Silver – 10,000 TIME
time-cli sendtoaddress TIME1your_address 10000
# Gold – 100,000 TIME
time-cli sendtoaddress TIME1your_address 100000
# Wait for 3 confirmations (~30 min), then find the TXID and vout
time-cli listunspent
4. Generate a Masternode Key
time-cli masternode genkey
Add the output to /root/.timecoin/time.conf:
masternodeprivkey=<key from genkey>
5. Update masternode.conf
nano /root/.timecoin/masternode.conf
Add one line per masternode (alias, collateral TXID, output index). Your node's IP is set via externalip= in time.conf, not here.
# Format: alias collateral_txid collateral_vout
mn1 abc123...def456 0
6. Restart and Verify
# Restart the service
systemctl restart timed
# Check it is running
systemctl status timed
# View live logs
journalctl -u timed -f
# Verify masternode status
time-cli masternode status
# Check peer connections
time-cli getpeerinfo
Useful Commands
# Service management
systemctl status timed
systemctl restart timed
systemctl stop timed
systemctl start timed
# Node information
time-cli getblockchaininfo
time-cli getbalance
time-cli getpeerinfo
# Masternode
time-cli masternode status
time-cli masternode list
time-cli masternode genkey
# Configuration files
nano /root/.timecoin/time.conf
nano /root/.timecoin/masternode.conf
TUI Dashboard
TIME Coin includes a built-in terminal dashboard that shows real-time node status — blockchain info, peers, masternode status, mempool, recent blocks, and governance — all in one view.
# Build and launch
cd ~/time-masternode
bash scripts/dashboard.sh
The dashboard auto-detects which network (mainnet/testnet) is running and reads RPC credentials from time.conf automatically.
Tabs: Overview • Masternode • Mempool • Blocks • Governance — switch with 1–5 or arrow keys. Press q to quit, ↑/↓ to scroll, Enter to expand details.
Masternode Rewards
Block Reward Distribution
Each block produces 100 TIME, distributed as follows:
• Block Producer: 30 TIME (VRF-selected leader)
• Treasury: 5 TIME (on-chain, governance-controlled)
• Gold tier: 25 TIME → single winner selected by fairness rotation
• Silver tier: 18 TIME → single winner selected by fairness rotation
• Bronze tier: 14 TIME → single winner selected by fairness rotation
• Free tier: 8 TIME → shared among up to 25 active Free nodes
How Rewards Work
For Bronze, Silver, and Gold tiers, the full tier pool goes to one node per block, chosen by a fairness-weighted rotation that gives preference to nodes that have waited longest since their last win. Over time, every active node in a tier receives approximately equal rewards.
consensus_participants_bitmap of the previous block — meaning it actively participated in gossip or TimeVote during that block period. Downtime means missed rounds; missed rounds mean no eligibility for that block's reward.
Reward Factors
- Tier: Higher tiers win a larger single-block payout (14 / 18 / 25 TIME)
- Active nodes in your tier: More competing nodes means fewer wins per node, but the same long-run expected average
- Uptime: Missed blocks = missed reward eligibility — no stake is penalised for downtime
- Block time: 10 minutes — 144 blocks per day, 52,560 per year
- No halving: 100 TIME per block with no emission cuts, ever
Wallet Setup
Set up the GUI wallet on your local machine before installing a masternode. You will need a receive address from your wallet to collect block rewards safely — keeping funds off the server entirely.
Prerequisites
- Rust 1.75+ — install via rustup.rs
- Linux only — GUI libraries:
sudo apt-get install libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev \ libxcb-xfixes0-dev libxkbcommon-dev libssl-dev - Windows and macOS require no extra libraries
Build & Run
git clone https://github.com/time-coin/time-wallet.git
cd time-wallet
# Build the GUI wallet
cargo build --release --bin wallet-gui
# Launch it
./target/release/wallet-gui # Linux / macOS
.\target\release\wallet-gui.exe # Windows
Create a New Wallet
- On the welcome screen choose Create New Wallet
- The wallet generates a BIP39 mnemonic seed phrase (12–24 words)
- Write the seed phrase down on paper and store it offline — it is the only way to recover your funds
- Click through to the main screen
Find Your Receive Address
Open the Receive tab. Your TIME address starts with TIME1 (mainnet) or TIME0 (testnet). Copy it — you will paste it into the masternode installer as your reward payout address.
Backup Your Wallet
# Linux / macOS — copy wallet.dat to a safe location
cp ~/.local/share/time-coin/mainnet/wallet.dat ~/backup/wallet.dat
# Windows
copy %APPDATA%\time-coin\mainnet\wallet.dat C:\backup\wallet.dat
Import an Existing Wallet
- On the welcome screen choose Import Existing Wallet
- Enter your 12 or 24 word BIP39 seed phrase
- Set an encryption password and click Import
Troubleshooting — Wallet Won't Connect to Peers
If your wallet opens but shows 0 connections or is unable to sync, it may not be finding peers automatically. You can manually add known network nodes via your time.conf file.
- Go to the Block Explorer
- Click the + Add Nodes button in the top-right corner — it will copy the list to your clipboard
- Open (or create) your
time.conffile:# Linux / macOS ~/.local/share/time-coin/testnet/time.conf # Windows %APPDATA%\time-coin\testnet\time.conf - Paste the copied lines into the file. Each line looks like:
addnode=123.45.67.89:22345 addnode=98.76.54.32:22345 - Save the file and restart the wallet
Token Distribution
TIME is distributed exclusively through block rewards — 100 TIME per block, distributed to masternodes and block producers. There is no token purchase mechanism.
• 100 TIME minted per block
• Distributed to masternodes proportional to tier and uptime
• Fixed emission, no halving, no pre-mine
Sending TIME
Transactions are live on testnet. Use the GUI wallet or
time-cli to send and receive TIME. Mainnet launches April 1, 2026.
Via GUI Wallet
Open the Send tab, enter the recipient address and amount, optionally add an encrypted memo, and click Send. The wallet shows finality confirmation in under 1 second.
Via CLI
# Basic send (fee added on top)
time-cli sendtoaddress TIME1recipient... 100
# Deduct fee from amount (recipient receives less)
time-cli sendtoaddress TIME1recipient... 100 --subtract-fee
# Attach an encrypted memo
time-cli sendtoaddress TIME1recipient... 100 --memo "Payment for invoice #42"
# Check recent transactions (memos shown if decryptable)
time-cli listtransactions 20
Payment Requests
Generate a timecoin: URI to share with payers via email, QR code, or message:
# Generate a payment request URI
time-cli request-payment 50.0 --memo "Invoice #42" --label "Alice's Shop"
# Output: timecoin:TIME0AsqaMhk...?amount=50&pubkey=a1b2c3...&memo=Invoice%20%2342
# Pay a payment request URI
time-cli pay-request "timecoin:TIME0AsqaMhk...?amount=50&pubkey=a1b2c3..."
The GUI wallet's Receive tab has a built-in Payment Request button that generates and displays the QR code.
Encrypted Memos
Memos are end-to-end encrypted using ECDH (X25519) + AES-256-GCM. Only the sender and recipient can decrypt them — all other nodes see only ciphertext on-chain. The recipient must have at least one prior on-chain transaction so their public key is discoverable. Maximum memo length: 256 characters.
Governance
Bronze, Silver, and Gold masternodes can submit and vote on on-chain proposals. Free-tier nodes have no governance rights.
Governance Weights
| Tier | Governance Votes |
|---|---|
| Free | None |
| Bronze | 1 |
| Silver | 10 |
| Gold | 100 |
A proposal passes when YES votes reach 67% of total active governance weight by the end of the 1,008-block voting window (~1 week). The treasury accumulates 5 TIME per block and is released only via a passed treasury proposal.
Proposal Types
# Treasury disbursement
time-cli submitproposal treasury TIME1recipient... 500.0 "Community event sponsorship"
# Fee schedule change
time-cli submitproposal feeschedule 0.005 '[{"upper":100,"rate_bps":100},{"upper":1000,"rate_bps":50}]'
Voting and Monitoring
# Vote on a proposal
time-cli voteproposal <proposal_id> yes
time-cli voteproposal <proposal_id> no
# List active proposals
time-cli listproposals active
# All proposals (active / passed / failed / executed)
time-cli listproposals
# Full detail including current vote tally
time-cli getproposal <proposal_id>
API Reference
The TIME Coin daemon exposes a Bitcoin-compatible JSON-RPC 2.0 interface on
127.0.0.1:24001 (mainnet) and 127.0.0.1:24101 (testnet). Use time-cli as the client, or call the RPC port directly with any HTTP client.
Blockchain
time-cli getblockchaininfo # chain, height, consensus info
time-cli getblockcount # current block height
time-cli getblock <height> # block details by height
time-cli getconsensusinfo # TimeVote status, masternode count, quorum
Network
time-cli getnetworkinfo # version, protocol, connection count
time-cli getpeerinfo # connected peers with ping, height, consensus status
time-cli uptime # daemon uptime in seconds
Wallet & Transactions
time-cli getbalance # available / locked / total
time-cli listunspent # UTXOs (add min/max confirmations)
time-cli listtransactions 20 # last N transactions (includes decrypted memos)
time-cli gettransaction <txid>
time-cli sendtoaddress <addr> <amount> [--subtract-fee] [--memo "text"] [--nowait]
time-cli validateaddress <addr>
time-cli mergeutxos # consolidate small UTXOs
Masternodes
time-cli masternode genkey # generate a masternode private key
time-cli masternode list # all masternodes with tier, status, uptime
time-cli masternode status # this node's masternode status
time-cli listlockedcollaterals # locked collateral UTXOs
Mempool
time-cli getmempoolinfo
time-cli getrawmempool [--verbose]
Output Formats
# Default: pretty JSON
time-cli getblockchaininfo
# Single-line JSON (for scripts / piping to jq)
time-cli --compact getblockchaininfo
# Human-readable text
time-cli --human getbalance
# Target testnet
time-cli --testnet getblockcount
# Target a remote node
time-cli --rpc-url http://192.168.1.10:24001 getblockcount
Scripting Example
#!/bin/bash
# Simple monitoring script
while true; do
clear
echo "=== TIME Coin Node ==="
echo "Blocks: $(time-cli getblockcount)"
echo "Peers: $(time-cli getpeerinfo | jq 'length')"
echo "Masternodes: $(time-cli masternode list | jq 'length')"
echo "Balance: $(time-cli --human getbalance)"
sleep 10
done
WebSocket Notifications
The daemon also exposes a WebSocket server on port 24002 (mainnet) / 24102 (testnet) for real-time transaction finality events. The GUI wallet uses this to show instant confirmation. Extended subscription API coming in Phase 2.
SDK
Official SDKs for JavaScript, Python, and Rust are in development. Until then, all functionality is accessible via the JSON-RPC 2.0 API (port 24101 on testnet) and the REST API.
In the meantime, you can interact with the network directly using the RPC API or time-cli:
JSON-RPC (any language)
curl -s -u user:password http://localhost:24101 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"getblockchaininfo","params":[],"id":1}'
time-cli
# Get balance
time-cli --testnet getbalance
# Send TIME
time-cli --testnet sendtoaddress TIME0RecipientAddress... 100.0
# Get transaction status
time-cli --testnet gettransactionfinality <txid>
Configuration Reference
Network Ports
| Network | P2P Port | RPC Port | WebSocket Port |
|---|---|---|---|
| Mainnet | 24000 | 24001 | 24002 |
| Testnet | 24100 | 24101 | 24102 |
Only the P2P port needs to be open to the internet. RPC is bound to 127.0.0.1 by default — never expose it publicly.
Directory Layout
~/.timecoin/ ← mainnet
├── time.conf ← daemon configuration
├── masternode.conf ← collateral entries (alias txid vout)
├── time-wallet.dat ← wallet (BACK THIS UP)
├── blockchain/ ← chain database
├── peers/ ← peer cache
└── registry/ ← masternode registry
~/.timecoin/testnet/ ← testnet (same structure)
Key time.conf Options
masternode=1 # enable masternode mode
reward_address=TIME1abc... # where block rewards are sent
masternodeprivkey=<key> # masternode signing key (from genkey)
# Network
port=24000 # P2P port (default by network)
rpcport=24001 # RPC port
tls=1 # enable TLS for P2P (0 to disable)
rpctls=1 # enable TLS for RPC
# RPC auth (auto-generated on first run)
rpcuser=timecoinrpc
rpcpassword=<auto-generated>
masternode.conf Format
Your node's IP is set via externalip= in time.conf, not in masternode.conf.
# alias collateral_txid collateral_vout
mn1 abc123...def456 0
mn2 def456...abc789 1
Upgrading Your Node
cd ~/time-masternode
# Update both networks (default)
sudo bash scripts/update.sh
# Update testnet only
sudo bash scripts/update.sh testnet
# Update mainnet only
sudo bash scripts/update.sh mainnet
The update.sh script pulls the latest code, rebuilds the binaries, and restarts the appropriate systemd service(s). If you only run one network, pass the network name to skip the other.
Alternatively, re-run the install script to upgrade in place (existing config files are preserved):
sudo ./scripts/install-masternode.sh mainnet # or testnet
Deregistering a Masternode
Set masternode=0 in time.conf and restart. The collateral UTXO is automatically unlocked and becomes spendable.
sudo systemctl restart timed
time-cli listunspent # collateral now shows as spendable
Changing Tiers
- Set
masternode=0intime.confand restart to deregister - Send the exact new-tier collateral amount to yourself
- Wait for 3 confirmations (~30 min), then run
time-cli listunspent - Update
masternode.confwith the new txid/vout - Set
masternode=1and restart
Contributing
Development Setup
# Clone repository
git clone https://github.com/time-coin/time-masternode.git
cd time-coin
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install dependencies
cargo build
# Run tests
cargo test
# Run linting
cargo clippy
# Format code
cargo fmt
Pull Request Process
- Fork the repository
- Create feature branch:
git checkout -b feature/my-feature - Make changes and add tests
- Run
cargo testandcargo clippy - Commit:
git commit -m "Add my feature" - Push:
git push origin feature/my-feature - Open Pull Request on GitHub
• Discord: discord.gg/TSY56t53
• GitHub Issues: github.com/time-coin/time-masternode/issues
• Email: dev@time-coin.io
Made with ⏰ by the TIME Coin community • GitHub • Back to Home