What is Unauthority?
Unauthority is a 100% immutable, permissionless, and decentralized Layer 1 blockchain designed from the ground up to be quantum-resistant, fair, and permanent.
It uses a block-lattice (DAG) structure with aBFT consensus, ensuring near-instant finality in 2-3 seconds. All cryptographic operations use Dilithium5 (NIST FIPS 204) — a post-quantum signature scheme that will remain secure even against future quantum computers.
The network is Tor-native, with validators operating as hidden services. Smart contracts run on a WASM virtual machine (UVM) with a built-in DEX using constant-product AMM. 100% fair launch — no ICO, no pre-mine, no VC.
Quick Start
Get running in 3 steps:
# 1. Install Torsudo apt install -y tor && sudo systemctl enable --now tor # Linuxbrew install tor && brew services start tor # macOS# 2. Build from sourcegit clone https://github.com/mky-los/unauthority-core.gitcd unauthority-core && ./install.sh --mainnet# 3. Runexport LOS_WALLET_PASSWORD='your-strong-password'./target/release/los-node --port 3030 --data-dir /opt/los-nodeKey Properties
| Ticker | LOS |
| Atomic Unit | CIL (1 LOS = 10¹¹ CIL) |
| Total Supply | 21,936,236 LOS (Fixed, non-inflationary) |
| Consensus | aBFT |
| Structure | Block-Lattice (DAG) |
| Cryptography | Dilithium5 (NIST FIPS 204) |
| Network | Tor Hidden Services recommended; clearnet supported |
| Smart Contracts | WASM via UVM |
| Token Standard | USP-01 |
| DEX | Constant-Product AMM (x·y=k) |
| Language | Rust |
| License | AGPL-3.0 |
Requirements
| OS | Linux (Ubuntu 22.04+), macOS 13+, Windows 10+ |
| CPU | 2+ cores (4+ recommended for mining) |
| RAM | 4 GB minimum, 8 GB recommended |
| Disk | 20 GB SSD |
| Network | Stable internet, Tor recommended |
| Rust | 1.75+ (for building from source) |
Installation (CLI)
# Clone & buildgit clone https://github.com/mky-los/unauthority-core.gitcd unauthority-corecargo build --release --features mainnet -p los-node# Run nodeexport LOS_WALLET_PASSWORD='your-strong-password'./target/release/los-node --port 3030 --data-dir /opt/los-nodeSystemd Service
Run LOS as a background service on Linux:
[Unit]Description=LOS NodeAfter=network.target tor.service[Service]User=losExecStart=/usr/local/bin/los-node --port 3030 --data-dir /opt/los-nodeRestart=alwaysRestartSec=5Environment=LOS_WALLET_PASSWORD=your-password[Install]WantedBy=multi-user.targetsudo cp los-node.service /etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl enable --now los-nodeConfiguration Reference
| Flag / Env | Default | Description |
|---|---|---|
| --port | 3030 | HTTP API port |
| --data-dir | ./data | Data directory path |
| --mine | false | Enable mining |
| --validator | false | Enable validator mode |
| LOS_WALLET_PASSWORD | — | Wallet encryption password |
| --tor-proxy | 127.0.0.1:9050 | Tor SOCKS5 proxy |
| --hidden-service-dir | — | Tor hidden service directory |
| --log-level | info | Log verbosity (trace/debug/info/warn) |
How Mining Works
LOS mining uses SHA3-256 proof-of-work that is cryptographically bound to your wallet address and the current epoch (1 hour). This means:
- Mining proofs cannot be stolen — they are bound to your address
- Mining pools are impossible by design
- One reward per address per epoch — running multiple nodes with the same address gives no advantage
- SHA3-256 has minimal GPU/ASIC advantage over CPUs
Mining Algorithm
SHA3-256( "LOS_MINE_V1" "cmt">// Domain separator || chain_id "cmt">// 1 = mainnet || address "cmt">// Your LOS address (address-bound) || epoch "cmt">// Current epoch (hour-bound) || nonce "cmt">// Value being iterated)Difficulty System
Difficulty starts at 20 bits and auto-adjusts every epoch, targeting ~10 successful miners per epoch. Range: 16 bits (minimum) to 40 bits (maximum).
| Difficulty | Avg Hashes | Time (modern CPU) |
|---|---|---|
| 16 bits | ~65,536 | < 0.1 second |
| 20 bits | ~1,048,576 | 0.5 – 2 seconds |
| 24 bits | ~16,777,216 | 8 – 30 seconds |
| 28 bits | ~268,435,456 | 2 – 8 minutes |
| 32 bits | ~4,294,967,296 | 30 – 120 minutes |
Reward Schedule & Halving
Mining reward starts at 100 LOS per epoch and halves every 8,760 epochs (~1 year).
| Year | Epoch Range | Reward/Epoch | Annual LOS |
|---|---|---|---|
| 1 | 0 – 8,760 | 100 LOS | ~876,000 |
| 2 | 8,761 – 17,520 | 50 LOS | ~438,000 |
| 3 | 17,521 – 26,280 | 25 LOS | ~219,000 |
| 4 | 26,281 – 35,040 | 12.5 LOS | ~109,500 |
| 5 | 35,041 – 43,800 | 6.25 LOS | ~54,750 |
| 10 | 78,841 – 87,600 | ~0.195 LOS | ~1,710 |
Mining FAQ
Can I use GPU or ASIC?
SHA3-256 has minimal advantage on GPUs and no ASIC exists. CPU mining is the intended and most efficient method.
Can I mine with multiple addresses?
Yes, each address can earn one reward per epoch. Each requires running a separate node instance.
Can I join a mining pool?
No. Mining proofs are cryptographically bound to your wallet address. Pool mining is impossible by design.
What happens after all halving?
Mining rewards approach zero asymptotically. Validator rewards and transaction fees sustain the network.
Do I need to run a full node?
Yes. Mining is integrated into the node. You must run a fully synced node to mine.
UVM Overview
The Unauthority Virtual Machine (UVM) executes WebAssembly smart contracts. Write contracts in any WASM-compatible language (Rust, AssemblyScript, etc.) and deploy them on-chain.
- 16 host functions available
- Gas-metered execution
- Deterministic runtime across all nodes
- Deploy via REST API or CLI
USP-01 Token Standard
USP-01 is the native token standard on Unauthority, similar to ERC-20. It defines a standard interface for fungible tokens on UVM.
| name() | Returns token name |
| symbol() | Returns token symbol |
| total_supply() | Returns total supply |
| balance_of(address) | Returns balance of address |
| transfer(to, amount) | Transfer tokens |
| approve(spender, amount) | Approve spending allowance |
| transfer_from(from, to, amount) | Transfer from approved allowance |
DEX AMM
Unauthority includes a built-in constant-product AMM DEX (x·y=k) for trustless, on-chain token swaps. It is MEV-resistant by design.
- Constant-product formula: x · y = k
- MEV-resistant — aBFT ordering prevents front-running
- Liquidity provision and withdrawal via standard API
- Integer math only — fully deterministic
Deploy a Contract
# Deploy a WASM contractcurl -X POST https://los.yourmoonkey.com/api/deploy-contract \ -H 'Content-Type: application/json' \ -d '{ "wasm_path": "/path/to/contract.wasm", "deployer": "LOSX...your-address", "gas_limit": 1000000 }'REST API (50+ endpoints)
Base URL: https://los.yourmoonkey.com/api — No authentication required.
| Method | Endpoint | Description |
|---|---|---|
| GET | /health | Health check |
| GET | /node-info | Node version, peers, block count |
| GET | /supply | Total supply and remaining supply |
| GET | /bal/{address} | Account balance |
| GET | /account/{address} | Full account details + history |
| GET | /history/{address} | Transaction history |
| GET | /validators | Active validator list with stake info |
| GET | /consensus | aBFT consensus status and safety |
| GET | /peers | Connected peers + validator endpoints |
| GET | /block | Latest block |
| GET | /blocks/recent | Recent blocks |
| GET | /reward-info | Reward pool & epoch info |
| GET | /metrics | Prometheus-compatible metrics |
| POST | /send | Send LOS transaction (requires signature + public_key) |
| POST | /register-validator | Register as network validator |
| POST | /deploy-contract | Deploy WASM smart contract |
| POST | /call-contract | Execute smart contract function |
| POST | /create-wallet | Create Dilithium5 wallet (password-encrypted) |
| GET | /richlist | Top addresses by balance (?limit=100&offset=0) |
| GET | /search/{query} | Search address, block hash, tx hash, smart contract |
| GET | /fee-estimate/{addr} | Fee estimate for address |
| GET | /mempool/stats | Mempool statistics |
| GET | /slashing | Slashing statistics |
| GET | /slashing/{address} | Slashing profile per validator |
| GET | /network/peers | Peer directory with .onion endpoints |
| GET | /mining-info | PoW epoch info, difficulty, reward |
| GET | /dex/pools | List all DEX pools |
| GET | /dex/pool/{c}/{id} | DEX pool info |
| GET | /dex/quote/{c}/{id}/{token}/{amt} | DEX swap quote |
| GET | /tokens | List all USP-01 tokens |
| GET | /token/{address} | USP-01 token info |
| GET | /token/{addr}/balance/{holder} | USP-01 token balance |
New Endpoints
Recently added endpoints for wallet creation, fee estimation, tokens, DEX, slashing, and more.
| Method | Endpoint | Description |
|---|---|---|
| POST | /create-wallet | Create Dilithium5 wallet (password-encrypted) |
| GET | /richlist | Top addresses by balance (?limit=100&offset=0) |
| GET | /search/{query} | Search address, block hash, tx hash, smart contract |
| GET | /fee-estimate/{addr} | Fee estimate (base_fee_cil: 100,000) |
| GET | /mempool/stats | Mempool statistics |
| GET | /slashing | Slashing statistics |
| GET | /slashing/{address} | Slashing profile per validator |
| GET | /network/peers | Peer directory with .onion endpoints |
| GET | /mining-info | PoW epoch info, difficulty, reward |
| GET | /dex/pools | List all DEX pools |
| GET | /dex/pool/{c}/{id} | DEX pool info |
| GET | /dex/quote/{c}/{id}/{token}/{amt} | DEX swap quote |
| GET | /tokens | List all USP-01 tokens |
| GET | /token/{address} | USP-01 token info |
| GET | /token/{addr}/balance/{holder} | USP-01 token balance |
⚠️ API Response Changes
- GET /bal/{address} — Now returns
head(last block hash) andblock_count - GET /account/{address} — Transactions now sorted newest → oldest, includes
amount_cil - GET /node-info — Now includes
protocolobject withbase_fee_cil,cil_per_los,chain_id_numeric - GET /validators — Uses
display_uptime_pct, includesis_genesisflag - POST /send — MAINNET: signature + public_key REQUIRED
Protocol Constants
- BASE_FEE_CIL = 100,000 (flat fee, 0.000001 LOS)
- CIL_PER_LOS = 100,000,000,000
- CHAIN_ID mainnet = 1, testnet = 2
- Min validator register = 100 LOS (post block height 1000)
- Min validator reward-eligible = 1,000 LOS
gRPC API
In addition to REST, Unauthority also exposes a gRPC API for high-performance integrations. See the full API reference for protobuf definitions and streaming endpoints.