Skip to main content
Use the wallet service to create a new EVM address that the robot can use for USDT operations on peaq EVM. The mnemonic is stored locally in the shared registry file and is never sent over ROS by default.

Service Reference

ServiceTypePurpose
/peaq_tether_node/wallet/createpeaq_ros2_interfaces/srv/TetherCreateWalletCreate a new EVM wallet address (mnemonic stored locally)

Launch Prerequisites

Start peaq_tether_node once, then call services as needed.
  • To start/stop the node (tmux + background options), follow the steps in Service Index.
  • In any new terminal where you run ros2 commands, make sure you’ve sourced your ROS/workspace environment and set the same ROS_DOMAIN_ID as the node:
# source /opt/ros/<your_ros_distro>/setup.bash
# source <path to your peaq-robotics-ros2 clone>/install/setup.bash
export ROS_DOMAIN_ID="${ROS_DOMAIN_ID:-94}"

Create a Wallet Address

export ROS_DOMAIN_ID="${ROS_DOMAIN_ID:-94}"
ros2 service call /peaq_tether_node/wallet/create \
  peaq_ros2_interfaces/srv/TetherCreateWallet \
  "{label: 'robot_001', export_mnemonic: false}"
Response fields:
  • address: checksummed EVM address (0x…)
  • mnemonic: empty unless both of the following are true:
    • You call the service with export_mnemonic: true
    • You explicitly allow unsafe export in config (tether.wallet_registry.unsafe_export_mnemonic: true)

Unsafe Mnemonic Export (Development Only)

Mnemonic export is disabled by default. To enable it temporarily for local testing:
  1. Set the config flag in peaq_robot.yaml:
tether:
  wallet_registry:
    unsafe_export_mnemonic: true
  1. Request export in the service call:
export ROS_DOMAIN_ID="${ROS_DOMAIN_ID:-94}"

# Restart the node after enabling unsafe export in config (stop + start using your chosen method).
# Example stop command (background mode):
# pkill -f "peaq_ros2_tether.*tether_node" 2>/dev/null || true

ros2 service call /peaq_tether_node/wallet/create \
  peaq_ros2_interfaces/srv/TetherCreateWallet \
  "{label: 'robot_001', export_mnemonic: true}"
Warning: Never enable mnemonic export in production. Treat exported mnemonics like root credentials.

Operational Tips

  • Treat the returned address as the only identifier used by the tether node APIs.
  • Do not enable mnemonic export in production.
  • Back up the registry file securely if the address controls real funds.