Skip to main content
peaq_tether_node stores wallet secrets locally in a single shared registry file on the robot/machine. This design keeps ROS APIs address-only while allowing the node to sign EVM transactions when you call transfer services.

Why a Registry Exists

  • ROS services must never receive mnemonics or private keys.
  • Transfers must still be signed somewhere; the node signs locally by loading the mnemonic from disk.
  • A single file registry fits the “single robot / single host” assumption and simplifies operations.

Configuration

In peaq_robot.yaml:
tether:
  wallet_registry:
    path: "~/.peaq_robot/tether_wallets.json"
    unsafe_export_mnemonic: false

Enabling mnemonic export (unsafe)

Mnemonic export is disabled by default. If you explicitly enable:
tether:
  wallet_registry:
    unsafe_export_mnemonic: true
then wallet/create will return a mnemonic only when the request sets export_mnemonic: true.

Security Invariants

  • The EVM address is the only identifier used by services.
  • Mnemonics are stored locally and are never emitted over ROS by default.
  • Keep the registry file restricted (e.g., mode 0600) and treat it like a keystore.

Operational Tips

  • Back up the registry if addresses control real funds (secure storage only).
  • If you rotate machines, migrate the registry file with care.
  • If multiple ROS 2 environments run on one host, isolate with ROS_DOMAIN_ID to prevent service collisions.