Built for IoT · Sensors · Autonomous Agents

UltraDAG

The simplest production-ready DAG chain for machine-to-machine micropayments. <2MB binary, bounded storage, fast finality. Bitcoin-style minimalism meets DAG for the machine economy.

Interactive Consensus Demo Dashboard Run a Node
ROUND 1 ROUND 2 ROUND 3 FINALIZED
21M max
Total supply cap
DAG-BFT
Consensus protocol
5s
Default round time
<2MB
Binary size

Built for
machines.

While IOTA, Helium, and IoTeX claimed "built for IoT", UltraDAG is the first to actually deliver: minimal binary, bounded storage, predictable finality, and runs on real embedded devices.

Storage

Bounded Storage

Automatic pruning keeps only last 1000 rounds (configurable). Memory usage stays constant after sync. Unlike IOTA/Byteball's unbounded growth, UltraDAG works on IoT devices with limited flash/RAM.

Finality

Predictable Fast Finality

BFT finality in 3 rounds (~5-15 seconds). No centralized coordinator like IOTA. No slow block times like IoTeX. Sensors can confirm payments in <10 seconds without human intervention.

Binary Size

Minimal Footprint

<2 MB release binary, ~900-1500 LOC consensus core. Fits on ESP32, Raspberry Pi Zero, industrial sensors. EVM chains require 100+ MB binaries—too large for embedded devices.

Throughput

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.

Cryptography

Ed25519 Signatures

Real asymmetric cryptography via ed25519-dalek. Transactions and DAG vertices are Ed25519-signed. On-chain verification: blake3(pubkey) == address.

Economics

Bitcoin-Style Tokenomics

21M max supply, halving every 210K rounds, stake-proportional rewards. Predictable supply unlike unclear inflation models in Helium/IOTA. Deflationary slashing for Byzantine behavior.

Bitcoin-model
supply.

Fixed supply, halving schedule, stake-proportional validator rewards. Developer-funded launch with transparent genesis allocation.

21M
Max supply cap
50 UDAG
Per round reward
210K
Halving interval
5%
Dev allocation
10,000
Min stake (UDAG)
~1 week
Unstake cooldown
Genesis Allocation

5% of total supply (1,050,000 UDAG) allocated to protocol development at genesis. No VC funding. No presale. This is the only non-mined allocation. Developer address is deterministic and auditable from block 0.

Reward Distribution: Validators earn proportional rewards based on stake. Before staking activation, validators receive equal block rewards per round (pre-staking fallback), allowing new validators to earn and stake immediately.

Sensor-to-sensor
micropayments.

Weather sensor sells data to autonomous drone for navigation. No human intervention. Finality in ~10 seconds.

Scenario
# 1. Weather sensor (Node A) measures temperature, humidity, pressure
# 2. Drone (Node B) requests data via API
# 3. Sensor creates signed transaction: 0.001 UDAG (100,000 sats)
# 4. Transaction broadcast to network via P2P
# 5. Validators include tx in next DAG vertex
# 6. Finality achieved in 3 rounds (~10 seconds)
# 7. Drone receives confirmed data, continues flight
Why UltraDAG Works
  • ✓ Binary fits on sensor's 4MB flash
  • ✓ Finality in <10 seconds (real-time)
  • ✓ Fee <0.0001 UDAG (economical)
  • ✓ No human intervention needed
  • ✓ Bounded storage (runs indefinitely)
Why Competitors Fail
  • ✗ IOTA: No predictable finality, Coordinator centralized
  • ✗ Helium: Only LoRa networks, not general payments
  • ✗ IoTeX: Too slow (15s+ confirmations), higher fees
  • ✗ Ethereum L2s: Bridge required, too complex for embedded

Start validating
in 60 seconds.

One binary, no configuration files, automatic peer discovery.

Terminal
# Build the node
cargo build --release -p ultradag-node

# Start validating (generates a keypair automatically)
cargo run --release -p ultradag-node -- --port 9333 --validate

# Connect a second validator to the first
cargo run --release -p ultradag-node -- --port 9334 --seed 127.0.0.1:9333 --validate

# Check chain status via HTTP RPC
curl http://127.0.0.1:10333/status

# Generate a new keypair
curl http://127.0.0.1:10333/keygen

# Send UDAG coins
curl -X POST http://127.0.0.1:10333/tx \
  -d '{"from_secret":"<sk_hex>","to":"<addr_hex>","amount":5000000000,"fee":100000}'