Install

Requirements

  • ROS 2 Humble or Jazzy

  • Python 3.10 or newer

  • A machine with internet access (the node talks to a Base RPC endpoint)

robopay is tested in CI on Humble and Jazzy. Lyrical builds are tracked as experimental.

Build from source

git clone https://github.com/OpenRobotEconomy/robopay.git
cd robopay

pip install web3 eth-account cryptography python-dotenv typer rich qrcode

colcon build
source install/setup.bash

On Ubuntu 24.04 (Jazzy) the system Python refuses global installs by default. Add --break-system-packages to the pip install line, or use a virtual environment that can see your ROS installation.

Packages

The repository contains three ROS 2 packages:

Package

What it holds

robopay_interfaces

Messages, services, and actions

robopay_core

The payment node, CLI, backends, and Python helpers

robopay_examples

Runnable example nodes

Check the install

ros2 run robopay_core robopay --help
ros2 interface list | grep robopay

The first command prints the CLI help. The second lists the robopay interfaces.

Optional: your own RPC endpoint

By default robopay uses the public Base RPC endpoints. They are fine for development but rate limited. For anything long-running, set your own endpoint (from any provider) in the environment before starting the node:

export BASE_SEPOLIA_RPC_URL=https://...
export BASE_MAINNET_RPC_URL=https://...

If a variable is unset or empty, the public endpoint is used and the node logs that it did so.