Skip to main content
peaq_ros2_tether adds an optional ROS 2 node (peaq_tether_node) that integrates Tether WDK (EVM wallet module) so robots can:
  • Create an EVM wallet address
  • Query USDT (ERC-20) balance on peaq EVM
  • Transfer USDT on peaq EVM
This integration is address-only:
  • ROS APIs use only EVM addresses (address, from_address, to_address)
  • Wallet secrets (mnemonic) are stored locally on the robot/machine in one shared registry file
  • No private keys/mnemonics are ever sent over ROS services

Service Catalog

Use this index as a quick reference, then dive into the focused guides:

Launch Prerequisites

Install JS dependencies once (Node.js required where the node runs):
Start the node via ros2 run. Notes:
  • If you run multiple ROS 2 environments on the same host, isolate them with ROS_DOMAIN_ID to prevent service collisions.
  • When running from a source checkout, the node prefers a CLI path where Node can resolve node_modules/. The simplest approach is to run from the workspace root. You can also override the CLI path explicitly with PEAQ_TETHER_CLI_PATH.
Confirm the node is running and services are registered:
Stop the node:
  • tmux option:
    • Re-attach: tmux attach -t tether
    • Stop inside tmux: Ctrl-c
    • (Or kill the session): tmux kill-session -t tether
  • background/disown option:
    • Try:
      • pkill -f "ros2 run peaq_ros2_tether tether_node" || true
      • pkill -f "peaq_ros2_tether/tether_node" || true
    • If the node was started as another user (or with sudo), you may need sudo pkill ....
    • Verify it’s gone:
      • pgrep -af "peaq_ros2_tether.*tether_node" || echo "tether node stopped"
If ros2 node list still shows stale entries right after stopping, restart the ROS CLI daemon and try again: