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 before calling the service:
ros2 run peaq_ros2_tether tether_node --ros-args \
  -p config.yaml_path:=/work/peaq_ros2_examples/config/peaq_robot.yaml

Create a Wallet Address

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:
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.