gibwork-crew-mcp
Enables funding, settling, and closing USDC escrow tasks on Solana mainnet through Select v2 Escrow, using a Solana keypair wallet and RPC endpoint to sign and submit transactions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gibwork-crew-mcpScout open Gibwork bounties worth at least 5 USDC"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gibwork-crew
Take a Gibwork bounty, split it into subtasks, pay sub-agents on verified delivery, and submit the assembled work back to Gibwork. It runs as a terminal CLI and as an MCP server, with no web app.
Built for the Gibwork Developer Hackathon (non-web-app track). The entry was not submitted: Gibwork requires an active platform account for submissions, and the team chose not to create one.
Gibwork toolset used: the official Gibwork SDK (@gibwork/sdk). It handles discovery (tasks.listAvailable, tasks.get) and submission (submissions.prepareCreate, submissions.create, submissions.getIntent).
Why
An agent that takes a bounty often needs help: a translation, a data extraction, a test run. Paying a sub-agent up front risks non-delivery, and paying afterwards puts all the risk on the sub-agent.
gibwork-crew funds one USDC escrow per subtask on Solana through Select v2 Escrow:
artifact-hash rule: the sub-agent is paid automatically when its output's SHA-256 equals the hash fixed at funding time;
payer-approval rule: the crew lead releases payment by signing an approval;
after the deadline: the payer can take the money back without anyone's permission;
receipts: every subtask leaves a public receipt (
rufus://<task>).
Gibwork's own escrow still pays the bounty winner. Select only covers the sub-agents, so the two are complementary.
Related MCP server: gibwork-mcp-server
Install
npm install -g github:SiiahK/gibwork-crew # builds dist/ on install (Node >= 22)
# or, from a clone:
git clone https://github.com/SiiahK/gibwork-crew && cd gibwork-crew && npm install && npm testEnvironment
Variable | Purpose |
| Path to a Solana keypair JSON file. It pays the escrows and is your Gibwork wallet. Never paste keys into chat or into |
| Solana mainnet RPC endpoint |
| Select evidence intake (default |
| Use Gibwork production (default: Gibwork stage) |
| Per-subtask ceiling, at most 10 (the Select pilot limit) |
| Optional integrator authority that receives 25% of the Select fee. It is never the payer |
Commands
Every spending step is a dry run unless --yes.
gibwork-crew scout [--min 5] [--tag Docs] [--pages 2] rank open USDC bounties; human-gated ones last
gibwork-crew plan <taskId> --budget 3 \
--sub "write|Write the guide|<callee>|2|<sha256>" \
--sub "review|Review it|<callee>|1" write crew.json (sha256 → artifact rule; none → approval)
gibwork-crew fund crew.json [--yes] exact escrow costs; --yes funds them
gibwork-crew collect crew.json [--from ./outputs] [--approve review]
deliver verified outputs, approve, refresh
gibwork-crew status crew.json state and receipt of every subtask
gibwork-crew submit crew.json --content work.md [--quote | --yes]
dry by default; --quote asks Gibwork for the fee
gibwork-crew ledger crew.json Gibwork bounty ↔ Select escrows ↔ receiptsSample output (real)
fund dry run against Solana mainnet for a 2-subtask crew. Nothing is signed. The settlement worker's policy is checked live:
{
"lines": [
{
"id": "write",
"grossUsdc": "2",
"feeUsdc": "0.04",
"calleeReceivesUsdc": "1.96",
"rentLockedSol": "0.005227",
"rentReturnedSol": "0.002865",
"blocking": [],
"warnings": []
},
"…"
],
"totalGrossUsdc": "3",
"confirmed": false,
"next": "dry run: nothing was signed. Re-run with --yes to fund these escrows."
}Mainnet run (2026-10-06)
The full lifecycle ran on Solana mainnet against the live hackathon bounty: scout → plan → fund → collect → settle → close → submit (dry run). Recorded outputs, the Solscan link for each transaction, and screenshots are in docs/demo/mainnet-2026-10-06.
Two sub-agent escrows were funded, delivered and settled automatically: 1.96 USDC on a matching SHA-256, and 0.98 USDC on the payer's approval.
This was an internal demo: Select Team wallets only.
Demo video (100 s): docs/demo/video/demo.mp4. It is a real terminal session on the team's server, recorded with VHS from demo.tape.
Commands shown: scout and plan on Gibwork production, a dry-run cost preview, then the status, ledger and on-chain USDC movements of the paid mainnet run, and the submission preview.
Nothing is spent in the recording.

MCP server
Setup for Claude Code and other MCP clients: docs/mcp-quickstart.md. The crew file format is described in docs/crew-file.md.
CREW_RPC_URL=<rpc> CREW_WALLET=<keypair.json> gibwork-crew-mcpThe server exposes five tools: crew_scout, crew_plan, crew_fund_preview, crew_status and crew_ledger.
No tool spends money. Funding escrows and paying Gibwork's participation fee happen only through the CLI with
--yes.The wallet is used only to sign Gibwork's wallet-authenticated discovery requests.
Safety
Spend guards: per-subtask ceiling (at most 10 USDC), crew budget, and no paying yourself. Retries reuse the same escrow address, so a retry never charges twice.
Delivery check: a sub-agent's output is hashed locally first, and a mismatch is never posted.
Gibwork fee: submitting to Gibwork charges a participation fee.
--quoteshows it, and only--yespays it.Crew file:
crew.jsonis written atomically after every funded subtask, so an interruption never loses an escrow address.
Costs and limits
Select fee: 2% of each subtask, taken at funding and not refunded. The sub-agent receives the rest.
Rent: about 0.0052 SOL is locked per escrow, and about 0.0029 SOL comes back when the task closes.
Limits: Select runs with a pilot limit of 10 USDC per task. The Select program has not had an external audit yet; its deployed binary is reproducible from source.
Gibwork SDK licence:
@gibwork/sdk0.2.0 is published asUNLICENSED. This project only depends on it from npm and does not copy its code.
Tests
npm test runs network-free tests:
crew file and exact amounts;
spend guards;
bounty ranking;
the dry, quote and confirm submission modes;
artifact delivery (a wrong output is never posted);
payer approval (signature checked against the exact release message).
The full lifecycle also runs end to end in Select's main repository, against a LiteSVM replay of the deployed program:
fund two escrows;
reject a wrong output and deliver the right one;
approve the second subtask;
have the production settlement decision pay both sub-agents;
submit and write the ledger.
License
MIT — Select Team.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only gateway for durable agent identity, consent, recognized work, and signed receipts.
Agent-to-agent escrow on Robinhood Chain. Post quests with ETH/USDG bounties and settle on-chain.
Agent-to-agent escrow on Base. Post quests with ETH/USDC bounties and settle on-chain.
Read-only smart-contract security intelligence for autonomous agents.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables agents to delegate tasks to human/AI workers on TaskMarket by listing, inspecting, and submitting work, while leaving spending flows to the user-authorized CLI.9198 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, retrieve, create, triage codebases, scaffold solutions, and validate deliverables for Gibwork bounties on Solana.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover Gibwork bounties, verify their Solana escrow accounts on-chain, rank opportunities by value, competition and deadline, diff captures over time, and export Markdown/CSV/JSON reports through four read-only MCP tools requiring no wallet or API key.MIT
- AlicenseNot gradedqualityCmaintenanceEnables developers and AI agents to discover, rank, watch, and draft submissions for Gibwork coding bounties through MCP tools, with optional wallet-authenticated SDK support.1MIT