core_node. The services map one-to-one with the Robotics Python SDK but run under lifecycle management so you can gate access policies alongside mission logic.
Capabilities
- Create roles that encapsulate operational capabilities (
operator,maintenance) - Define permissions (e.g.,
store_telemetry,emit_intent) - Assign permissions to roles and grant roles to robot or user DIDs
- Query existing policies for audit trails or dashboards
Service Reference
| Service | Type | Purpose |
|---|---|---|
/peaq_core_node/access/create_role | peaq_ros2_interfaces/srv/AccessCreateRole | Add a new role identifier |
/peaq_core_node/access/create_permission | peaq_ros2_interfaces/srv/AccessCreatePermission | Register a permission definition |
/peaq_core_node/access/assign_permission | peaq_ros2_interfaces/srv/AccessAssignPermToRole | Attach a permission to a role |
/peaq_core_node/access/grant_role | peaq_ros2_interfaces/srv/AccessGrantRole | Grant a role to a robot or user DID |
peaq/tx_status.
Example Workflow
ros2 topic echo /peaq/tx_status to confirm finalization.
Automation Pattern
- Trigger RBAC provisioning from CI whenever a new robot identity is created.
- Use a ROS 2 Node (Python/C++) that batches service calls and verifies outcomes before declaring a robot operational.
- Persist granted roles using your fleet management system for quick audits.
Best Practices
- Prefix permissions with domain context (
telemetry:write,mission:cancel) to avoid collisions. - Use different roles for humans vs. robots even if they share capabilities—this keeps grants revocable per actor type.
- Log RBAC service responses for compliance; they already include block hashes and timestamps.

