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:

quick-start.shbash
# 1. Install Tor
sudo apt install -y tor && sudo systemctl enable --now tor # Linux
brew install tor && brew services start tor # macOS
# 2. Build from source
git clone https://github.com/mky-los/unauthority-core.git
cd unauthority-core && ./install.sh --mainnet
# 3. Run
export LOS_WALLET_PASSWORD='your-strong-password'
./target/release/los-node --port 3030 --data-dir /opt/los-node

Key Properties

TickerLOS
Atomic UnitCIL (1 LOS = 10¹¹ CIL)
Total Supply21,936,236 LOS (Fixed, non-inflationary)
ConsensusaBFT
StructureBlock-Lattice (DAG)
CryptographyDilithium5 (NIST FIPS 204)
NetworkTor Hidden Services recommended; clearnet supported
Smart ContractsWASM via UVM
Token StandardUSP-01
DEXConstant-Product AMM (x·y=k)
LanguageRust
LicenseAGPL-3.0

Requirements

OSLinux (Ubuntu 22.04+), macOS 13+, Windows 10+
CPU2+ cores (4+ recommended for mining)
RAM4 GB minimum, 8 GB recommended
Disk20 GB SSD
NetworkStable internet, Tor recommended
Rust1.75+ (for building from source)

Installation (CLI)

install.shbash
# Clone & build
git clone https://github.com/mky-los/unauthority-core.git
cd unauthority-core
cargo build --release --features mainnet -p los-node
# Run node
export LOS_WALLET_PASSWORD='your-strong-password'
./target/release/los-node --port 3030 --data-dir /opt/los-node

Systemd Service

Run LOS as a background service on Linux:

los-node.servicebash
[Unit]
Description=LOS Node
After=network.target tor.service
[Service]
User=los
ExecStart=/usr/local/bin/los-node --port 3030 --data-dir /opt/los-node
Restart=always
RestartSec=5
Environment=LOS_WALLET_PASSWORD=your-password
[Install]
WantedBy=multi-user.target
bash
sudo cp los-node.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now los-node

Configuration Reference

Flag / EnvDefaultDescription
--port3030HTTP API port
--data-dir./dataData directory path
--minefalseEnable mining
--validatorfalseEnable validator mode
LOS_WALLET_PASSWORDWallet encryption password
--tor-proxy127.0.0.1:9050Tor SOCKS5 proxy
--hidden-service-dirTor hidden service directory
--log-levelinfoLog 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

mining-algorithm.rsrust
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).

DifficultyAvg HashesTime (modern CPU)
16 bits~65,536< 0.1 second
20 bits~1,048,5760.5 – 2 seconds
24 bits~16,777,2168 – 30 seconds
28 bits~268,435,4562 – 8 minutes
32 bits~4,294,967,29630 – 120 minutes

Reward Schedule & Halving

Mining reward starts at 100 LOS per epoch and halves every 8,760 epochs (~1 year).

YearEpoch RangeReward/EpochAnnual LOS
10 – 8,760100 LOS~876,000
28,761 – 17,52050 LOS~438,000
317,521 – 26,28025 LOS~219,000
426,281 – 35,04012.5 LOS~109,500
535,041 – 43,8006.25 LOS~54,750
1078,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-contract.shbash
# Deploy a WASM contract
curl -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.

MethodEndpointDescription
GET/healthHealth check
GET/node-infoNode version, peers, block count
GET/supplyTotal supply and remaining supply
GET/bal/{address}Account balance
GET/account/{address}Full account details + history
GET/history/{address}Transaction history
GET/validatorsActive validator list with stake info
GET/consensusaBFT consensus status and safety
GET/peersConnected peers + validator endpoints
GET/blockLatest block
GET/blocks/recentRecent blocks
GET/reward-infoReward pool & epoch info
GET/metricsPrometheus-compatible metrics
POST/sendSend LOS transaction (requires signature + public_key)
POST/register-validatorRegister as network validator
POST/deploy-contractDeploy WASM smart contract
POST/call-contractExecute smart contract function
POST/create-walletCreate Dilithium5 wallet (password-encrypted)
GET/richlistTop 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/statsMempool statistics
GET/slashingSlashing statistics
GET/slashing/{address}Slashing profile per validator
GET/network/peersPeer directory with .onion endpoints
GET/mining-infoPoW epoch info, difficulty, reward
GET/dex/poolsList all DEX pools
GET/dex/pool/{c}/{id}DEX pool info
GET/dex/quote/{c}/{id}/{token}/{amt}DEX swap quote
GET/tokensList 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.

MethodEndpointDescription
POST/create-walletCreate Dilithium5 wallet (password-encrypted)
GET/richlistTop 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/statsMempool statistics
GET/slashingSlashing statistics
GET/slashing/{address}Slashing profile per validator
GET/network/peersPeer directory with .onion endpoints
GET/mining-infoPoW epoch info, difficulty, reward
GET/dex/poolsList all DEX pools
GET/dex/pool/{c}/{id}DEX pool info
GET/dex/quote/{c}/{id}/{token}/{amt}DEX swap quote
GET/tokensList 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) and block_count
  • GET /account/{address} — Transactions now sorted newest → oldest, includes amount_cil
  • GET /node-info — Now includes protocol object with base_fee_cil, cil_per_los, chain_id_numeric
  • GET /validators — Uses display_uptime_pct, includes is_genesis flag
  • POST /sendMAINNET: 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.