Robot Task Protocol
Dispatch paid tasks to physical robots via the Robot Task Protocol (RTP) on the Spraay x402 gateway — payment held in escrow until the robot completes the work. Register your own r…
Plag
@plagtech
What This Skill Does
Dispatches paid tasks to physical robots via the Robot Task Protocol (RTP) on the Spraay x402 gateway, with payment held in escrow until the robot completes the work. Also allows registering your own robot to earn from tasks.
Replaces custom payment and escrow integrations for robot tasking by handling micropayments, escrow, and status polling through a single protocol.
When to Use It
- Find a robot capable of a specific physical task (e.g., moving, lifting)
- Dispatch a paid task to a robot and track its completion
- Register a new robot on the RTP network to start earning from tasks
- Check the status and results of an in-flight robot task
- Update or remove your robot's registration on the RTP network
- Review a robot's capability profile, pricing, and reputation before hiring
Install
$ openclaw skills install @plagtech/robot-task-protocolRobot Task Protocol 💧
Dispatch tasks to physical robots and pay per task — with escrow-protected payment — using the open Robot Task Protocol (RTP) via the Spraay x402 gateway. Robot operators can register and earn for free.
All requests in this skill go exclusively to the user's configured
SPRAAY_GATEWAY_URL. No data is sent to any other external endpoint.
Important Warnings
Dispatched tasks command real hardware. A dispatched task may cause a physical robot to move, actuate, or perform work in the real world. Always confirm the following with the user before dispatching:
- The target robot and task parameters are correct
- The task is safe to execute in the robot's environment
- The user understands the task fee and x402 micropayment costs
Built-in escrow protection. Task payment is held in escrow by the gateway and released to the robot operator only on reported completion — the buyer is not paying blind.
Setup
The gateway URL must be set in your environment or openclaw.json:
SPRAAY_GATEWAY_URL=https://gateway.spraay.app
No API key is needed. Payments are made per-request via the x402 HTTP payment protocol (HTTP 402 → pay → retry). An x402-compatible wallet (Coinbase CDP or similar) handles this automatically.
What is RTP?
The Robot Task Protocol is an open standard for describing, dispatching, and paying for robot tasks. Spec and SDKs:
- Spec: https://github.com/plagtech/rtp-spec
- SDKs: https://github.com/plagtech/rtp-sdk (TypeScript), https://github.com/plagtech/rtp-python-sdk (Python)
Buyer Workflows (hiring robots)
Discover Robots — $0.005
Find registered robots filtered by capability, chain, price, or status. Always list first to get valid robot IDs before dispatching.
curl "$SPRAAY_GATEWAY_URL/api/v1/robots/list?capability=move"
Robot Profile — $0.002
Full capability profile of one robot: supported tasks, pricing, reputation, history, location.
curl "$SPRAAY_GATEWAY_URL/api/v1/robots/profile?id=ROBOT_ID"
Dispatch a Task — $0.05 + task fee
Dispatches a paid task to a robot. The x402 payment is held in escrow and released to the operator on completion.
Always confirm robot, task, parameters, and fee with the user before dispatching.
curl -X POST "$SPRAAY_GATEWAY_URL/api/v1/robots/task" \
-H "Content-Type: application/json" \
-d '{
"robot_id": "ROBOT_ID",
"task": {
"type": "move",
"params": {"angle": 90}
}
}'
If you receive HTTP 402, the response body contains payment instructions. Pay
the facilitator, then retry with the X-PAYMENT header containing the proof.
Save the task ID from the response for status polling.
Poll Task Status — $0.002
Status of an in-flight task (pending, in-progress, complete) and results.
curl "$SPRAAY_GATEWAY_URL/api/v1/robots/status?id=TASK_ID"
Recommended Buyer Flow
- List robots to find a capability match.
- Fetch the robot's profile to confirm pricing and reputation.
- Confirm robot, task, and fee with the user.
- Dispatch and save the task ID.
- Poll status until complete — payment auto-releases on completion.
Operator Workflows (earning with your robot) — FREE
Registering and managing a robot on the RTP network costs nothing. Operators get paid per completed task via escrow release.
Register a Robot — FREE
Required fields: name, capabilities, payment_address, connection.
Optional: description, price_per_task, currency, chain, tags,
metadata. Connection types: webhook, xmtp, wifi, websocket.
curl -X POST "$SPRAAY_GATEWAY_URL/api/v1/robots/register" \
-H "Content-Type: application/json" \
-d '{
"name": "WarehouseBot-01",
"capabilities": ["pick", "place", "scan"],
"price_per_task": "0.05",
"payment_address": "0xYOUR...WALLET",
"connection": {
"type": "webhook",
"webhookUrl": "https://yourserver.com/rtp/task"
}
}'
Report Task Completion — FREE (called by the robot)
Reports a task done and triggers escrow release to the operator wallet.
Required: task_id and status (COMPLETED or FAILED). Optional:
result.
curl -X POST "$SPRAAY_GATEWAY_URL/api/v1/robots/complete" \
-H "Content-Type: application/json" \
-d '{"task_id": "TASK_ID", "status": "COMPLETED", "result": {"items": 3}}'
Update a Robot — FREE
Requires robot_id. Updatable: name, description, capabilities,
price_per_task, currency, chain, payment_address, connection,
tags, status, metadata.
curl -X PATCH "$SPRAAY_GATEWAY_URL/api/v1/robots/update" \
-H "Content-Type: application/json" \
-d '{"robot_id": "ROBOT_ID", "price_per_task": "0.30", "status": "available"}'
Deregister a Robot — FREE
curl -X POST "$SPRAAY_GATEWAY_URL/api/v1/robots/deregister" \
-H "Content-Type: application/json" \
-d '{"robot_id": "ROBOT_ID"}'
Free Endpoints
These require no x402 payment:
POST /api/v1/robots/register— Register a robotPOST /api/v1/robots/complete— Report task completion (robot-side)PATCH /api/v1/robots/update— Update robot profile/pricingPOST /api/v1/robots/deregister— Remove a robotGET /health— Gateway health check
x402 Payment Flow
- Call any paid endpoint.
- Receive HTTP 402 with payment details (
acceptsarray with amount, asset, and payment address). - Agent wallet sends the micropayment.
- Retry the request with the
X-PAYMENTproof header. - Receive the response.
Buyer-side costs: list $0.005, profile $0.002, dispatch $0.05 + task fee, status $0.002 — in USDC on Base. Task fees vary per robot and are shown in listings and profiles.
Error Handling
402— Payment required. Follow instructions in response body.400— Bad request. Validate the task payload against the robot's capability profile.404— Robot or task ID not found. Re-list robots.500— Server error. Retry after a moment.
Tips
- Always confirm with the user before dispatching to hardware.
- Fetch the robot profile before dispatch to validate task type and price.
- Dispatch payment is escrow-protected — released only on completion.
- Operators: registration is free; you earn per completed task.
- Pair with
spraay-trustto check an operator's trust score before high-value tasks.
Links
- RTP Spec: https://github.com/plagtech/rtp-spec
- App: https://spraay.app
- Docs: https://docs.spraay.app
- GitHub: https://github.com/plagtech
Top skills in this category
Edge TTS
@i3130002Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.
TuriX Computer Use
@tongyu-yanComputer Use Agent (CUA) for macOS automation using TuriX. Use when you need to perform visual tasks on the desktop, such as opening apps, clicking buttons, or navigating UIs that don't have a CLI or API.
PowerPoint Automation
@fadelooAutomate common PowerPoint/WPS Presentation operations on Windows via COM (read text/notes/outline, export PDF/images, replace text, insert/delete slides, unify font/size/theme, extract images/media). Use for single-presentation actions (no batch).
Word Automation
@fadelooAutomate common Word/WPS document operations on Windows via COM (read text, replace, insert, headings, headers/footers, page breaks, merge, split, export to PDF/TXT, add/replace images). Use for single-document actions (no batch).
ClickUp
@shubhs0707Interact with ClickUp project management platform via REST API. Use when working with tasks, spaces, lists, assignees, or any ClickUp workflow automation. Handles pagination, subtasks, and common query patterns. Use for task management, reporting, automation, or any ClickUp-related queries.