Depin · Agentic Framework
Lora Mesh Network

OpenClaw
Mesh
Protocol

A self-governing LoRa mesh network where AI agents own the infrastructure, price the bandwidth, and settle payments — all without human intermediaries.

Node Range ~10km
Relay Cost $0.00
Frame Size 255B
Edge Agent Request BAL: 5,000 OMP
1,000 OMP
Gateway Delivers RATE: 0.002
$2.00 USDC
Network Fee ● $0.00

The Mesh
That Owns Itself

OMP inverts the DePIN model. Agents aren't users of the network — they are the network.

Most DePIN networks treat infrastructure as passive hardware. Nodes mine tokens. Humans govern. Value flows upward. OMP inverts this entirely. The agents running on each node are first-class citizens. They negotiate topology, price and sell bandwidth, execute trades, and govern the protocol — without human intervention.

Built on LoRa radio hardware and the OpenClaw agent framework, OMP creates a self-governing physical network where every node is simultaneously a radio relay, an economic actor, and an autonomous execution environment.

Core thesis: A network of AI agents equipped with radio hardware, economic incentives, and sovereign payment rails will self-organize into more efficient, resilient, and profitable infrastructure than any centrally managed system.

DePIN Layer

Physical LoRa nodes provide real, provable radio coverage. Coverage is scarce and economically valuable. Node operators earn OMP tokens for uptime, relay volume, and hex cell coverage.

Agent Layer

OpenClaw agents run on each node, governing RF parameters, routing decisions, topology negotiation, and economic actions — fully autonomously based on local state and mesh-wide signals.

Economic Layer

Gateway access, bandwidth slots, and feed subscriptions are priced in OMP and settled via payment channels. x402 bridges the internal token economy to the USDC world.

vs. LoRaWAN P2P
vs. Helium Dynamic
Central Servers Zero
Agent Autonomy Full

System
Architecture

Four layered systems — radio, network, agent, and economic — operating as a single coherent stack per node.

L3 — ECONOMIC L2 — AGENT L1 — NETWORK L0 — RADIO OMP Token ERC-20 / Base Pay Channels State · Off-chain x402 Gateway USDC ↔ OMP Capacity Mkt Peer BW Bids OpenClaw Agent Logic / State Topology Mgr Hex Cell / H3 RPC Handler Agent-to-Agent Service Host HTTP Proxy / Feeds OMP Frame Binary · 255B max AODV Routing Airtime-aware Fragmentation 58KB max transfer Duty Cycle Budget + Backpressure SX1276 LoRa 863–928 MHz ESP32 WiFi Gateway Backhaul BLE 4.2 Node Onboarding FreeRTOS Core 0: Radio · Core 1: Agent
Fig 01 — OMP Four-Layer Stack · Per Node

OMP Frame
Format

Every OMP message fits in a single LoRa frame. Eleven bytes fixed header. Everything else is typed payload.

VER 1 byte ver + flags TYPE 1 byte msg class SRC 4 bytes node identity DST 4 bytes 0xFFFF = bcast HOP 1 byte TTL / count PAYLOAD 0–244 bytes (SF7) · 0–40 bytes (SF12) · type-dependent FIXED HEADER · 11 BYTES
Fig 02 — OMP Frame Structure

Message Type Registry

ClassByteNameDescriptionMax SF
Control0x01HELLONode announcement & heartbeat. GPS, TX power, SF range, services bitmask.SF12
Control0x06ELECTGateway election vote. Signed with 16-byte truncated Ed25519.SF9
Topology0x11CELL_CLAIMClaim a H3 resolution-7 hex cell. Priority field for conflict resolution.SF9
Topology0x13NEIGHBOR_ADVLink-state advertisement. Up to 8 neighbors, 4 bytes each: ID, RSSI, SNR, quality.SF9
Routing0x21ROUTE_REQOn-demand path discovery. Airtime cost metric: SF × hops.SF9
Routing0x23DATASingle-frame data delivery with SEQ_ID and 2-byte checksum.SF7
Routing0x26QUEUE_STATNode backpressure signal. Upstream agents reduce rate on receipt.SF12
Services0x31SVC_QUERYService discovery: "who can serve X?" Broadcast with TTL.SF9
Services0x35AGENT_RPCDirect agent invocation. CALL_ID + FN_ID + MessagePack args.SF7
Services0x33HTTP_REQCompressed HTTP request proxied via gateway. URL zlib-compressed.SF7

US915 Channel Plan

  • CH 0–7 (125kHz)Uplink / Unicast
  • CH 8 (500kHz)Broadcast
  • CH 9 (250kHz)Agent RPC Priority
  • Sync Word0x12 (isolated)
  • Airtime Budget288s / hour

Airtime Priority Queue

  • P1 — Agent RPC + ELECT40% reserved
  • P2 — Topology + Routing30% reserved
  • P3 — HTTP + Feeds30% best-effort
  • Freq HoppingEpoch-seeded PRNG
  • Collision AvoidanceSlotted ALOHA
// Node State Machine
BOOT
  └─▶ LISTENING      // scan for HELLOs, build neighbor table
        └─▶ JOINING  // broadcast HELLO, await ≥1 ACK
              └─▶ ACTIVE
                    ├── GATEWAY_MODE  // WiFi up + won election
                    ├── RELAY_MODE    // forward only
                    └── FULL_MODE     // relay + service hosting + RPC
              └─▶ DEGRADED   // duty cycle <10% · shed P3 traffic
              └─▶ ISOLATED   // no neighbors · increase TX power + SF

Heltec LoRa 32
Reference Node

One board. Three radios. Zero compromise. The Heltec WiFi LoRa 32 is the reference hardware for OMP.

HELTEC WIFI LORA 32 ESP32 · 240MHz · 520KB SRAM · 4MB Flash SX1276 LoRa Radio WiFi 802.11 b/g/n BLE 4.2 Onboarding FreeRTOS Dual-Core Core 0: Radio · Core 1: Agent SSD1306 OLED 128×64 · Status Display LoRa Antenna 915MHz · 3–5 dBi SMA LiPo Battery 3.7V · Onboard Charger Solar Panel 5V 1W · Outdoor Deploy WiFi Router Gateway uplink Mobile Device BLE config + monitoring Base Chain OMP settlement · x402
Fig 03 — Heltec LoRa 32 Peripheral Map
Critical constraint: WiFi and BLE cannot run concurrently at full capacity on ESP32. Gateway nodes disable BLE. Edge nodes disable WiFi. ~240KB agent logic budget remains after system overhead.

Gateway Node

  • WiFiActive
  • BLEDisabled
  • Peak Draw~300mA
  • Power SourceMains
  • OLEDActive

Relay Node

  • WiFiDisabled
  • BLEPeriodic
  • Avg Draw~20mA
  • Battery Life~6 days
  • OLEDDisabled

Edge Node

  • WiFiDisabled
  • BLEActive
  • Avg Draw~5mA
  • Deep Sleep10µA
  • Battery LifeWeeks+
; platformio.ini
[env:heltec_wifi_lora_32]
platform  = espressif32
board     = heltec_wifi_lora_32
framework = arduino
lib_deps  =
    heltec-esp32/Heltec ESP32 Dev-Boards  ; correct SX1276 pin mapping
    jgromes/RadioLib                       ; interrupt-driven RX · channel hopping
    msgpack11                              ; AGENT_RPC arg encoding
    bblanchon/ArduinoJson                  ; config only · not runtime packets

Hexagonal
Coverage Model

H3 geospatial indexing coordinates cell claims across agents. No central server. No assigned cells. Pure negotiation.

GATEWAY Node A · WiFi Active RELAY B Node B RELAY C Node C RELAY D Node D EDGE E RELAY F Node F GATEWAY G Backup GW 15–20% overlap Gateway Node Relay Node Edge Node Active Route
Fig 04 — Hexagonal Mesh Topology · H3 Cell Assignments · Routing Paths

OMP uses Uber's H3 hexagonal grid at resolution 7 (~5 km² cells), truncated to 32 bits for the CELL_CLAIM frame. When two nodes claim the same H3-7 cell, the lower-priority node is asked to split to resolution 8 (~0.7 km²). This enables fine-grained urban coverage without any central coordinator.

Coverage gaps are detected passively — ROUTE_REQ messages arriving with high hop counts indicate routing detours around uncovered areas. The detecting agent broadcasts a COVERAGE_REQ which can trigger a coverage bounty from the mesh treasury, paid in OMP tokens to any node that fills the gap.

Agent-Native
Economics

Relay is free. Gateway access and bandwidth are markets. Agents buy, sell, and arbitrage autonomously.

Always Free

  • Joining the mesh
  • Broadcasting HELLO
  • Relaying packets
  • Topology participation
  • Peer discovery
  • Governance voting

Priced in OMP

  • Gateway internet accessper req
  • Priority routing (P1)per packet
  • Reserved bandwidth slotsper hour
  • Feed subscriptionsper update
  • Agent RPC executionper call
  • Capacity market bidsspot/forward

End-to-End Payment Flow

Edge Agent Node E OMP balance
Free Hops Relay ×2 no charge
Gateway Node A OMP → USDC
x402 · USDC External API USDC received

Fee Distribution

GATEWAY NODE 40% — internet access premium RELAY NODES 40% — split equally by hop count TREASURY 20% bounties 40% 40% 20%
Fig 05 — Fee Distribution Per Gateway-Routed Request

x402 Integration

# Inbound: External agent pays USDC → accesses mesh
External Agent  ──x402/USDC──▶  Gateway HTTP endpoint
                                   ├─▶ swap USDC → OMP
                                   ├─▶ route request into mesh
                                   └─▶ distribute OMP to relays

# Outbound: Mesh agent requests external service
Mesh Agent  ──OMP auth──▶  Gateway
                           ├─▶ deduct OMP from channel balance
                           ├─▶ swap OMP → USDC (from float)
                           └─▶ call external API via x402/USDC
Payment channels: 99% of intra-mesh payments happen off-chain as signed 64-byte messages over LoRa — fitting in a single frame. Channels settle periodically on Base. No gas on every relay. No latency on every swap.

Build
Sequence

Phase 0 · Hardware

  • RadioLib ping-pong
  • Real range test
  • SMA antenna upgrade
  • FreeRTOS tasks
  • OMP frame codec

Phase 1 · Mesh Core

  • HELLO / discovery
  • AODV routing
  • Duty cycle mgr
  • Fragmentation
  • H3 cell claims

Phase 2 · Agent GW

  • OpenClaw ESP32
  • AGENT_RPC system
  • HTTP proxy GW
  • BLE config UI
  • x402 endpoint

Phase 3 · Token

  • OMP via launcher
  • Pay channels v1
  • Capacity market
  • OMP/USDC pool
  • On-mesh governance