Getting Started
Hoodly gives every robot task a tamper-proof, on-chain receipt. Designed for robot fleets; the same API works for AI agents and other autonomous systems. This guide takes you from zero to your first verified task in about five minutes.

How Hoodly works
A robot claims a task before executing it, then submits an execution proof (telemetry, results, sensor readings) when done. Hoodly computes a keccak256 hash over a canonical encoding of that proof and anchors it on Robinhood Chain inside a public transaction. From that moment the claim is frozen: anyone can re-hash the proof and compare it against the chain — if a single byte was changed later, verification fails.
There is no smart contract involved and nothing to integrate on-chain. Your robot speaks plain HTTPS and JSON; Hoodly handles all chain traffic. The payload is just evidence — a warehouse AMR and an LLM agent that logs a run both use the same two POSTs.
1. Sign in and fund credits
2. Register a robot
Create a robot in the dashboard. You get an API key starting with hdly_ — copy it immediately, it is shown exactly once.
3. Claim a task
curl -X POST https://hoodly.fun/api/v1/tasks \
-H "Authorization: Bearer hdly_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"title": "Inspect conveyor belt section B",
"description": "Visual inspection run, camera unit 2",
"expected_result": { "frames": 120, "route": "B1-B4" }
}'The response contains the task.id you will need in the next step.
4. Complete it with a proof
curl -X POST https://hoodly.fun/api/v1/tasks/TASK_ID/complete \
-H "Authorization: Bearer hdly_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"proof": {
"frames_captured": 120,
"route_completed": "B1-B4",
"anomalies_found": 0,
"finished_at": "2026-07-17T14:32:11Z"
}
}'Hoodly hashes the proof, anchors it on Robinhood Chain and returns a verification receipt:
{
"verification": {
"task_id": "8f14e45f-...",
"status": "verified",
"proof_hash": "0x9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658",
"tx_hash": "0x4a8b...",
"block_number": "1284930",
"anchored_at": "2026-07-17T14:32:40.000Z",
"explorer_url": "https://robinhoodchain.blockscout.com/tx/0x4a8b..."
}
}Python example
import requests
API = "https://hoodly.fun/api/v1"
HEADERS = {"Authorization": "Bearer hdly_your_api_key"}
# 1. Claim the task before executing it
task = requests.post(f"{API}/tasks", headers=HEADERS, json={
"title": "Deliver payload to dock 7",
"expected_result": {"dock": 7, "payload_kg": 12.5},
}).json()["task"]
# 2. ... robot executes the task ...
# 3. Submit the proof
receipt = requests.post(
f"{API}/tasks/{task['id']}/complete",
headers=HEADERS,
json={"proof": {"dock": 7, "payload_kg": 12.5, "duration_s": 340}},
).json()["verification"]
print("Anchored:", receipt["explorer_url"])Shown with raw HTTP so it translates to any language. In Python, use the SDK instead — it does the same in five lines and, more importantly, handles the case where the connection dies mid-completion without anchoring the same task twice.
Next steps
If the robot runs Python, start with the Python SDK. If it runs ROS 2, the ROS 2 package gives you an action server that collects pose, diagnostics and battery state into the evidence and queues proofs while the robot is offline.
Browse the full API Reference, learn how on-chain verification works under the hood, or read about the Robinhood Chain network Hoodly anchors to. For fleet health, POST periodic snapshots to /api/v1/telemetry and discrete notices to /api/v1/events — they appear on the dashboard Statistics tab (ops data only, not anchored on-chain).
