TIME Coin Documentation

✅ Testnet Active — Wallet v0.6.2 Released

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.

🚀 Current Status: Testnet Active · Wallet v0.6.2
🔧 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.

  1. Go to the latest release page and download TIMECoinWallet-Setup-x.x.x.exe.
  2. Run the installer. If Windows Defender SmartScreen appears, click More info → Run anyway (the app is unsigned during testnet).
  3. Follow the setup wizard — choose an install directory and click Install.
  4. Launch TIME Coin Wallet from the Start Menu or Desktop shortcut.
  5. 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.
Testnet mode: The wallet connects to the testnet automatically. Testnet addresses begin with TIME0. Mainnet addresses will begin with TIME1 after mainnet launch.

Windows — ZIP (Portable)

No installation required — run directly from any folder.

  1. Download time-wallet-windows-x86_64.zip from the latest release.
  2. Extract the ZIP to a folder of your choice.
  3. 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

Design Philosophy: Blocks serve as archival snapshots rather than validation bottlenecks. Transactions achieve finality through masternode consensus in under 1 second, while 10-minute blocks provide periodic immutable records.

10-Minute Block System

How It Works

Unlike traditional blockchains where blocks dictate transaction finality, TIME separates these concerns:

  1. Transaction Submission: User broadcasts transaction to network
  2. Instant Validation: Masternodes validate via BFT consensus (Sub-Second)
  3. Immediate Finality: Transaction is spendable immediately after consensus
  4. 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
Minimum send amount: 1 TIME. Sends below 1 TIME are rejected at the protocol level (the 0.01 TIME flat minimum fee would exceed 1% of the amount). Self-sends for UTXO consolidation are exempt.

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

Instant Finality: TIME transactions are final once 2/3 of active masternodes reach consensus. This typically takes under 1 second and cannot be reversed.

Consensus Mechanism

Byzantine Fault Tolerant (BFT)

TIME uses a practical BFT consensus among masternodes:

  1. Proposal: Transaction broadcast to all masternodes
  2. Pre-vote: Masternodes validate and pre-vote
  3. Commit: If 2/3+ pre-vote YES, masternodes commit
  4. Finality: Transaction finalized with 2/3+ commits

Security Properties

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

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

⚠️ Install the Wallet First
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.
🚀 Automated Installation
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.
🖥️ Recommended 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

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:

💡 Reward Address — Use Your Wallet, Not the Node
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.
🔒 Why You Should Not Use the Masternode Address for Rewards

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
✅ Masternode Active! Your node will begin earning block rewards once it is recognized by the network. Free-tier nodes are eligible after a 72-block maturity period (~12 hours).

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 15 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:

Per-Block Reward Split (100 TIME total):
• 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.

Reward eligibility: Your node must appear in the 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

Wallet Setup

📋 Install the Wallet First
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

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

  1. On the welcome screen choose Create New Wallet
  2. The wallet generates a BIP39 mnemonic seed phrase (12–24 words)
  3. Write the seed phrase down on paper and store it offline — it is the only way to recover your funds
  4. Click through to the main screen
🔐 Seed Phrase is Everything: Anyone with your seed phrase can steal your funds. Write it on paper — never photograph it, store it in a cloud service, or share it with anyone.

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

  1. On the welcome screen choose Import Existing Wallet
  2. Enter your 12 or 24 word BIP39 seed phrase
  3. 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.

  1. Go to the Block Explorer
  2. Click the + Add Nodes button in the top-right corner — it will copy the list to your clipboard
  3. Open (or create) your time.conf file:
    # Linux / macOS
    ~/.local/share/time-coin/testnet/time.conf
    
    # Windows
    %APPDATA%\time-coin\testnet\time.conf
  4. Paste the copied lines into the file. Each line looks like:
    addnode=123.45.67.89:22345
    addnode=98.76.54.32:22345
  5. Save the file and restart the wallet
Note: The addnode list is pulled live from the network — click the button again any time to get the latest peers.

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.

Block Reward Emission:
• 100 TIME minted per block
• Distributed to masternodes proportional to tier and uptime
• Fixed emission, no halving, no pre-mine

Sending TIME

✅ Available on Testnet
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
FreeNone
Bronze1
Silver10
Gold100

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

📘 JSON-RPC API — Available on Testnet Today
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

🛠️ SDK — Coming Soon
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
Mainnet240002400124002
Testnet241002410124102

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

  1. Set masternode=0 in time.conf and restart to deregister
  2. Send the exact new-tier collateral amount to yourself
  3. Wait for 3 confirmations (~30 min), then run time-cli listunspent
  4. Update masternode.conf with the new txid/vout
  5. Set masternode=1 and 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

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/my-feature
  3. Make changes and add tests
  4. Run cargo test and cargo clippy
  5. Commit: git commit -m "Add my feature"
  6. Push: git push origin feature/my-feature
  7. Open Pull Request on GitHub
Need Help?
• 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 • GitHubBack to Home