DAG-BFT Consensus for the Machine Economy
Blockchain finality
10 seconds.
Built for machines.
DAG-BFT consensus for IoT, sensors, and autonomous agents. Live on testnet.
UDAG is live on Arbitrum.
Trade on your favourite DEX. Bridge-backed 1:1 with native UDAG on the main chain.
Try It Live
Run code against testnet
Execute real transactions in your browser. No installation, no wallet, no signup required.
Why UltraDAG
Built for
machines.
Small enough to run a full validator on a $15 Raspberry Pi Zero 2 W. Simple enough that a $3 ESP32 can hold the key and sign transactions. No VM, no smart contracts — the minimum viable chain for machine-to-machine payments.
Bounded Storage
Pruning horizon of 1000 rounds (~83 min at 5s/round, governable via --pruning-depth) keeps DAG state constant after sync — full nodes settle at ~100 MB on disk. Unlike Byteball's unbounded Tangle, UltraDAG stays small forever. Old vertices can still be verified via BFT-signed checkpoints.
Predictable Fast Finality
Deterministic BFT finality in 3 rounds (~10-15 s). No coordinator node, no probabilistic confirmation counting. A sensor can hand off payment and know it's settled before a human would reach for their phone.
Minimal Footprint
<4 MB stripped release binary (3.5 MB on Linux aarch64, 2.87 MB on macOS arm64 — both at v0.9). ~7,000 SLOC of consensus runtime. Cross-compiled and verified to run on aarch64 Linux, the target of the $15 Raspberry Pi Zero 2 W — nowhere near the 100+ MB of an EVM node.
Leaderless Parallel Production
No leader election overhead. All validators produce in parallel. 3-4x throughput vs single-leader chains (4 validators → 4 vertices per round). Perfect for high-frequency sensor data.
Ed25519 Signatures
Real asymmetric cryptography via ed25519-dalek. Transactions and DAG vertices are Ed25519-signed. On-chain verification: blake3(pubkey) == address.
Bitcoin-Style Tokenomics
21M max supply, halving every 10.5M rounds (~1.66 years), stake-proportional rewards. Delegate to validators for passive earnings, no node required. Deflationary slashing for Byzantine behavior.
TLA+ Formally Verified
Consensus safety verified by TLC model checker across 32.6 million states. Six invariants proven with zero violations: no conflicting finalization, no honest equivocation, parent consistency. Not just tested—mathematically checked.
Checkpoint Fast-Sync
New nodes sync in minutes via BFT-signed checkpoints instead of replaying full history. Quorum-verified state snapshots with cryptographic chain linking to genesis. No trust-on-first-use vulnerability.
On-Chain Governance
Council of 21 governance with 1 vote per seat. Seven expertise categories (Engineering, Community, Growth, Operations, Legal, Research, Security), no stake requirement. 10% quorum, 66% supermajority, execution delay for safety. No hard forks needed—council members vote on proposals, changes apply automatically when passed.
Tokenomics
Bitcoin-model
supply.
Fixed 21M supply, halving schedule, 7-bucket distribution. 88% emitted through per-round rewards; a single 12% IDO pre-mine bootstraps the private round and Uniswap liquidity.
21M UDAG split across 7 buckets. Only the IDO distributor (12%) is pre-mined at genesis to fund private-round buyers and seed Uniswap liquidity. All other buckets start at zero and accumulate through per-round protocol emission.
Distribution: 44% validators & stakers (9.24M), 16% DAO treasury (3.36M), 12% IDO / Liquidity (pre-mine) (2.52M), 10% Council of 21 (2.1M), 8% ecosystem (1.68M), 5% founder (1.05M), 5% reserve (1.05M). The six emission buckets sum to 88% of each round's block reward; the remaining 12% is never minted, offsetting the IDO pre-mine so the 21M cap holds exactly.
Real-World Use Case
Sensor-to-sensor
micropayments.
Weather sensor sells data to autonomous drone for navigation. No human intervention. Finality in ~10 seconds.
# Weather sensor (Node A) sells data to drone (Node B) sensor-a $ ultradag-node --status Round: 14,208 Finalized: 14,206 Peers: 4/4 Lag: 2 sensor-a $ ultradag-sdk send \ --to b7f3a1...drone-node-b \ --amount 0.001 \ --memo "temp:22.4C hum:61% pres:1013hPa" tx: 9a2f08...c4e1 broadcast to 4 peers included in vertex round 14,209 (0.8s) finalized at round 14,211 (6.2s) ✓ sensor-a $ ultradag-sdk balance Balance: 847.2391 UDAG Nonce: 1,847
Run a Node
Download & run
in 60 seconds.
Pre-built binaries for Linux and macOS. One command to start validating.
# 1. Download and extract curl -L https://github.com/UltraDAGcom/core/releases/download/latest/ultradag-node-linux-x86_64.tar.gz | tar xz # 2. Start your node with --validate to produce blocks ./ultradag-node-linux-x86_64 --port 9333 --validate # → Your validator address is printed at startup (saved to ~/.ultradag/validator.key) # → RPC is available at http://localhost:10333 # 3. Get testnet UDAG from the faucet (100 UDAG per request, repeat as needed) curl -X POST http://localhost:10333/faucet \ -d '{"address": "YOUR_ADDRESS", "amount": 10000000000}' # 4. Stake to become an active validator (min 2,000 UDAG) # Your secret key is in ~/.ultradag/validator.key curl -X POST http://localhost:10333/stake \ -d '{"secret_key": "YOUR_SECRET_KEY", "amount": 200000000000}' # 5. Check your node status curl http://localhost:10333/status
# 1. Download and extract (Apple Silicon) curl -L https://github.com/UltraDAGcom/core/releases/download/latest/ultradag-node-macos-arm64.tar.gz | tar xz # Or for Intel Macs: # curl -L https://github.com/UltraDAGcom/core/releases/download/latest/ultradag-node-macos-x86_64.tar.gz | tar xz # 2. Start your node with --validate to produce blocks ./ultradag-node-macos-arm64 --port 9333 --validate # → Your validator address is printed at startup (saved to ~/.ultradag/validator.key) # → RPC is available at http://localhost:10333 # 3. Get testnet UDAG from the faucet (100 UDAG per request, repeat as needed) curl -X POST http://localhost:10333/faucet \ -d '{"address": "YOUR_ADDRESS", "amount": 10000000000}' # 4. Stake to become an active validator (min 2,000 UDAG) # Your secret key is in ~/.ultradag/validator.key curl -X POST http://localhost:10333/stake \ -d '{"secret_key": "YOUR_SECRET_KEY", "amount": 200000000000}' # 5. Check your node status curl http://localhost:10333/status
# Mainnet is currently paused. # Testnet remains live for development, validator experiments, # and the bug bounty program. # Connect to testnet: curl https://ultradag-node-1.fly.dev/status curl https://ultradag-node-1.fly.dev/balance/tudg1... # Run a testnet node from source: git clone https://github.com/UltraDAGcom/core && cd core cargo build --release ./target/release/ultradag-node \ --data-dir ./testnet-data --port 9333 --rpc-port 10333 \ --seed ultradag-node-1.fly.dev:9333 # Bug bounty remains open — runs on testnet. # See docs/security/bug-bounty/PROGRAM.md for rewards + rules. # Mainnet payouts are deferred until mainnet returns; every # ledger entry in docs/security/bug-bounty/LEDGER.md remains # binding regardless of mainnet availability.
✓ Testnet live — 2 seed nodes in Amsterdam
✓ RPC open on ultradag-node-1.fly.dev
✓ Bug bounty active — report via GitHub Security
✓ UDAG on Arbitrum (ERC-20) continues trading
⏸ Mainnet paused
⏸ Validator set not currently accepting stake
⏸ Mainnet bounty payouts deferred
✓ Ledger commitments remain binding
Build from source: git clone https://github.com/UltraDAGcom/core && cargo build --release
Developer Tools
Official SDKs.
Integrate UltraDAG into your application in minutes. Four official SDKs with local Ed25519 keygen, typed responses, and full test coverage.
Python SDK
pip install ultradag. Uses PyNaCl + blake3. Ideal for IoT automation, scripting, and data pipelines.
pip install -e sdk/python/ JS/TS SDK
npm install ultradag. Uses @noble/ed25519 + blake3. Works in Node.js 18+ and browsers.
npm install ultradag Rust SDK
Lightweight client crate. Uses reqwest + ed25519-dalek + blake3. Not the full node, just the client.
cargo add ultradag-sdk Go SDK
Standard net/http + blake3. Zero external HTTP dependencies. Perfect for infrastructure tooling.
go get github.com/ultradag/sdk-go Open Source
Explore the architecture.
979 nodes. 1,201 edges. 11 layers. Interactive knowledge graph of the entire codebase — consensus engine, state machine, P2P networking, bridge contracts, SDKs, and more. Follow the guided tour or dive in yourself.
Explore the codebase →Ready to trade UDAG?
Live on Arbitrum One. 8-decimal ERC-20. 21M max supply. Multiple DEXes, one token contract.