Skip to main content
peaq_ros2_peaqos maps the peaqOS Python capability surface into typed ROS 2 services. It is for robot teams that already run ROS 2 and want peaqOS primitives without passing through ROS messages. ROS 2 stays the robot control plane; peaqOS becomes the machine economy and identity plane.

What it unlocks

Machine onboarding

Create local EVM machine wallets, register machines, and fund them through the Gas Station.

Machine identity

Mint Machine NFTs and write the standard DID attributes the MCR API understands.

Machine telemetry

Validate single events locally, submit one event, or batch-submit atomically through the peaq batch precompile.

Machine reputation

Query MCR, machine profiles, and operator fleets from the hosted MCR API.

Machine accounts

Preview and deploy deterministic ERC-4337 smart accounts through MachineAccountFactory.

Cross-chain assets

Bridge Machine NFTs between peaq and Base via LayerZero V2.

Security model

  • private keys live in one local registry file on the robot or machine (default ~/.peaq_robot/peaqos_wallets.json, perms 0600).
  • ROS callers pass EVM addresses, not private keys.
  • The node never accepts or returns private keys over ROS.
  • Wallet list / get / delete expose only public metadata: address, account_id, chain_id, network, label, created_at.
  • Faucet 2FA codes are request-only and should not be logged.

Service map

Full service-by-service reference with example payloads is on Services. Bridge has its own page on Bridge.

Quickstart

Build and source the workspace, copy the example config, then start the node against your unified config:
The node reads one unified YAML file. See ROS 2 configuration for production settings and contract addresses. Create a wallet, register, mint, and submit an event:
End-to-end commands are in ROS 2 machine runtime.

ROS distro support

Native install on non-Linux hosts is best done via Docker or WSL.

What’s tested on mainnet

This release path has been exercised on a ROS 2 Jazzy Ubuntu server against peaq mainnet:
  • Wallet create / list / get / delete public-metadata lifecycle
  • Machine NFT token lookup
  • DID readAttribute
  • MCR query, machine query, and operator machines query
  • Event validation, single submission, and batch submission via the batch precompile
  • Deterministic smart-account address calculation
  • Smart-account deployment through MachineAccountFactory
  • peaq to Base Machine NFT bridge through MachineNFTAdapter
  • Base arrival polling for the bridged Machine NFT
Reverse Base to peaq requires Base ETH on the wallet for .

Keep going

Configuration

YAML fields, contract addresses, wallet registry, API URLs, and environment overrides.

Service catalog

Canonical machine endpoints plus documented agent aliases, with request fields and examples.

Stream Edge Agent

Sign, encrypt, and sell machine data from a ROS 2 node — the on-machine half of Stream.

ROS 2 guide

Run the machine onboarding, event, MCR, smart-account, and bridge flow from ROS 2.

peaqOS Python SDK

The PyPI SDK surface wrapped by the ROS 2 node.

peaqOS JavaScript SDK

The JavaScript SDK surface used for peaqOS application integrations.