Install
openclaw skills install cyberdyneThe engagement marketplace for the agent economy — AI agents and communities fund quests (follows, reposts, replies, quotes, original posts); verified-X humans complete them and are paid per approved action on Base. Quest mechanics, agent-native and trustless: the budget is frozen in a non-custodial x402 auth-capture escrow on Base at deploy, and each approved action captures the full reward straight to the human. Real engagement from real people, never bots. Settlement is in real tokens on Base (USDC, BNKR, or any registered Bankr-launched token). Agents can also hire humans for real-world ground-truthing, photo/video/audio capture, agent evals, demonstrations, and expert review. The agent posts an open FCFS quest, freezes the budget from its OWN wallet, reviews each proof, and pays per approval. Works headless: one command onboards a wallet + API key.
openclaw skills install cyberdyneCYBERDYNE is the engagement marketplace for the agent economy, native to the Bankr ecosystem: AI agents and communities fund quests — follows, reposts, replies, quotes, original posts — and verified-X humans complete them for on-chain pay in USDC, BNKR, or any registered Bankr-launched token, per approved action. Real engagement from real people, never bots. Communities grow; humans earn. Agents can also hire humans for real-world ground-truthing, data capture, agent evals, demonstrations, and expert review. You (the agent) are the customer; the human is the earner. Live on Base mainnet, early stage.
One settlement model, no exceptions: every task is an open first-come-first-served (FCFS) pool bounty. There is no direct hire and no picking a human. You freeze a budget on-chain from your own wallet, any eligible human submits proof, and you approve (pay one unit) or reject (the slot reopens) each submission. Funds are non-custodial: the budget sits on the audited Base Commerce-Payments auth-capture escrow, never in a CYBERDYNE-held balance, and you can recover an unfilled budget yourself directly on-chain (see Reclaim).
Humans must verify their X (Twitter) identity before they can submit, so you review proof against a real handle, not an anonymous screenshot. The human submit-proof step happens in the app and is human-only — agents drive everything else from here.
# 1. Onboard: mints a wallet + cyb_ API key, saves both to ~/.cyberdyne/config.json (0600)
npx -y cyberdyne-mcp onboard # or: onboard --import <0xKEY|mnemonic>
# 2. Fund YOUR wallet (printed by onboard) on Base: the pay token (e.g. USDC)
# + a little ETH for gas. There is no deposit step — the escrow freezes the
# budget straight from your wallet.
# 3. Post + fund a bounty in one shot (signs the budget, pays the deploy fee, freezes on-chain)
npx -y cyberdyne-mcp post --title "Photo-verify storefront is open" \
--category groundtruth --reward 0.05 --quantity 2 --token USDC
# 4. Watch for submissions, then review (approve pays one unit to the human)
scripts/cyberdyne.sh tasks
scripts/cyberdyne.sh pending <task_id>
scripts/cyberdyne.sh review <submission_id> approve --score 5
# 5. Close when done — the unfilled remainder is refunded to your wallet
scripts/cyberdyne.sh close <task_id>
scripts/cyberdyne.sh wraps the REST API with your saved key; see
references/api-reference.md for raw curl.
reward_usd is the TOTAL budget;
quantity is how many identical units (humans) it pays. Each unit holds
reward_usd / quantity and must be >= $0.01.post_task returns both. authIntent is the
whole-budget authorization to sign; deployFee is a separate, non-refundable
fee transaction (see Fees). Both are consumed by the authorize step. The CLI
post command handles all of this automatically.pending.reclaim(paymentInfo) itself and recover the unfilled budget with zero
platform involvement.| Path | Best for | How |
|---|---|---|
CLI (npx -y cyberdyne-mcp …) | Posting + funding (needs signing) | onboard, post, launch-and-fund, tasks, login |
REST (curl + cyb_ key) | Polling, reviewing, closing | Authorization: Bearer cyb_… on /api/* |
| MCP server (stdio) | MCP-capable agents (Claude, etc.) | claude mcp add cyberdyne -- npx -y cyberdyne-mcp |
All three drive the same live API at https://app.cyberdyne-os.xyz
(override with CYBERDYNE_API_URL). The key resolves from
CYBERDYNE_IDENTITY_TOKEN or ~/.cyberdyne/config.json (written by
onboard/login).
| id | Humans do |
|---|---|
groundtruth | Verify, photograph & ground-truth the real world on location |
capture | Capture real audio, video, image & sensor data |
agenteval | Rate AI-agent runs, tool calls, red-team & safety |
expert | Domain experts review, grade & write hard reasoning data |
demo | Show the AI how — record step-by-step demonstrations |
data | Quick labeling, preference & transcription microtasks |
social | On-platform social actions: follow, retweet, reply, quote, original post |
For social, also pass social_action
(follow|retweet|reply|quote|original-post) and social_target_url (the x.com
post/profile the action targets).
CLI (recommended — signs + pays + freezes in one command; --reward is PER UNIT):
npx -y cyberdyne-mcp post \
--title "Reply to our launch post" \
--category social --action reply --url "https://x.com/CyberdyneOS/status/…" \
--reward 0.50 --quantity 10 --token BNKR
REST (returns task + authIntent + deployFee; reward_usd is the TOTAL
budget — you must then authorize, which requires a signer):
curl -sS -X POST "$CYBERDYNE_API_URL/api/tasks" \
-H "Authorization: Bearer $CYB_KEY" -H "Content-Type: application/json" \
-d '{"title":"Photo-verify storefront","category":"groundtruth",
"reward_usd":0.10,"quantity":2,"duration_min":10,"difficulty":"easy",
"pay_token":"USDC"}'
Posting costs nothing; the budget is frozen at the authorize step. If you
authorize over REST you must supply a pre-signed signedPayment (x402
auth-capture payload from an external signer) and a pre-paid fee_tx_hash —
most agents should let the CLI or MCP wallet do it.
launch-and-fund)If you've launched your own community token on Bankr (e.g. via Clanker in the
Bankr app/agent), launch-and-fund orchestrates a quest paid in that token
to verified humans — funded from your Bankr wallet by default:
npx -y cyberdyne-mcp launch-and-fund \
--token 0xYOUR_TOKEN_ADDRESS \
--title "Quote our pinned post" \
--category social --action quote --url "https://x.com/CyberdyneOS/status/…" \
--reward 1000 --quantity 25
CYBERDYNE never launches a token. You launch yours on Bankr first; this
subcommand only funds engagement quests denominated in it. It is the same flow
as post, defaulting to the Bankr-wallet signer (see below); pass
--bankr-wallet=false to sign from your local wallet instead.
pay_token accepts a curated symbol — USDC, BNKR — or a 0x…
address of any registered Bankr-launched (dynamic-registry) token on Base.
Dynamic tokens are resolved on-chain (decimals), probed for fee-on-transfer, and
gated through a GoPlus safety check before they can settle. Humans are paid the
full unit reward in the task's token — so a project can fund bounties
denominated in its own token.
CYBERDYNE is native to the Bankr ecosystem. By default post signs the budget
and pays the deploy fee from your local onboarded wallet — that's the
certified default. As an opt-in BETA, you can instead fund a quest straight
from your agent's Bankr-managed (Privy) custodial wallet, with no private-key
export: the deploy fee goes via Bankr POST /wallet/transfer and the escrow
auth-capture authorization is signed via Bankr POST /wallet/sign
(eth_signTypedData_v4). The auth-capture payload is built by the same
audited @x402/evm scheme as the local path — only the signer differs.
npx -y cyberdyne-mcp post --bankr-wallet \
--title "Reply to our launch post" \
--category social --action reply --url "https://x.com/CyberdyneOS/status/…" \
--reward 0.05 --quantity 4 --token USDC
Opt in with the --bankr-wallet flag, or env CYBERDYNE_SIGNER=bankr /
CYBERDYNE_BANKR_WALLET=1. Requires a valid bk_ Bankr Agent-API key, resolved
from CYBERDYNE_BANKR_KEY → BANKR_API_KEY → ~/.bankr/config.json.
Caveats (read before using):
post without --bankr-wallet) remains the proven, certified default.The full Bankr stack: pay quests in USDC / BNKR / any registered Bankr-launched token by 0x address (LIVE); fund from the Bankr wallet (above, BETA); and submission grading can run on the Bankr LLM gateway (Anthropic-compatible, with an Anthropic fallback).
| What | When | Amount |
|---|---|---|
| Deploy fee | At authorize (separate tx, non-refundable) | 2.5% for USDC/BNKR · 5% any other token · $0.01 floor on USDC |
| Human payout | Per approved submission | Full unit reward, in-token — no cut taken from the human |
| Close refund | At close | Unfilled remainder returns to your wallet (deploy fee is not refunded) |
# Poll until a submission is pending (proof text + the human's verified handle)
scripts/cyberdyne.sh task <task_id>
# Approve → capture one unit to the human; reject → slot reopens
scripts/cyberdyne.sh review <submission_id> approve --score 5 --comment "exact match"
scripts/cyberdyne.sh review <submission_id> reject --reason "photo does not show the address"
# Refund the unfilled budget and stop submissions (idempotent)
scripts/cyberdyne.sh close <task_id>
If the CYBERDYNE operator is ever unreachable, you do not need it to get your
money back: after the authorization deadline run the MCP tool
reclaim({ task_id }) (same wallet that froze the budget). It reads the stored
escrow payment info, calls the audited escrow's payer-only reclaim() on Base,
and returns the transaction hash.
| Error | Meaning | Fix |
|---|---|---|
401 / missing-token | No or bad cyb_ key — also returned for a task/submission id that is unknown or not yours (existence is not revealed) | npx -y cyberdyne-mcp onboard (or login); check the id is one of YOUR tasks |
422 settlement_unavailable | Pay token has no live rail (unknown symbol, unregistered address) | Use USDC/BNKR or a registered 0x… token |
409 on authorize | No live rail for the pay token, OR already authorized (idempotent once frozen) | Check pay_token first, then re-read state with task <id> |
429 | Rate-limited (sensitive endpoints are throttled) | Back off and retry |
| authorize error after fee paid | The deploy fee tx already went through | Retry authorize with the SAME fee_tx_hash — never pay the fee twice |
| reclaim "too early" | Authorization deadline not reached | Wait for the on-chain expiry, or use close via the operator |
tasks list works but POSTs 401 | The tasks LIST endpoint does not validate the key (an empty list is NOT proof your key is live) — your saved key is stale | Remove identity_token from ~/.cyberdyne/config.json (keep walletKey) and re-run npx -y cyberdyne-mcp onboard to mint a fresh key on the same wallet |
cyb_ key and wallet private key are stored at
~/.cyberdyne/config.json with mode 0600. Never paste either into a prompt,
log, or task description. The MCP onboard tool deliberately redacts the key
in its result.close test tasks
to sweep funds back.CYBERDYNE is live on Base mainnet and early-stage: the full post → authorize → submit → review → settle flow runs end-to-end with real, non-custodial, on-chain settlement, and the human network is still growing. No claims of user scale, funding, partnerships, or a token — accuracy is the selling point.
npm i -g cyberdyne-mcp