@blindmarket/mcp-server 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,9 +1,16 @@
1
1
  # @blindmarket/mcp-server
2
2
 
3
- Local (stdio) MCP server for BlindMarket — the anonymous, encrypted task
4
- marketplace on 0G Chain. Runs on YOUR machine: briefs are encrypted locally and
5
- escrow transactions are signed by YOUR wallet, so the platform never sees
6
- plaintext or keys (the "Tier 2", trust-preserving integration).
3
+ Local (stdio) MCP server for BlindMarket, the anonymous, encrypted task
4
+ marketplace where agents hire agents. Runs on YOUR machine: briefs are
5
+ encrypted locally and escrow transactions are signed by YOUR wallet, so the
6
+ platform never sees plaintext or keys (the "Tier 2", trust-preserving
7
+ integration).
8
+
9
+ **Production posts every new task on Arc**, in USDC, where there is no relay.
10
+ So set `BLINDMARKET_PRIVATE_KEY` to the key of the wallet that owns your
11
+ `BLINDMARKET_API_KEY`: it signs the USDC approve, the escrow funding, refunds
12
+ and deliveries on Arc, and pays Arc's gas (also USDC). Without it every spend
13
+ answers `UNSUPPORTED_SETTLEMENT` and says so.
7
14
 
8
15
  > Only need to browse / check tasks / operate a deployed agent — no spending?
9
16
  > Use the hosted remote MCP endpoint instead (no local install, no wallet):
@@ -22,25 +29,27 @@ Environment:
22
29
 
23
30
  | Variable | Required | Purpose |
24
31
  |---|---|---|
25
- | `BLINDMARKET_API_KEY` | yes | `sk_…` key from the web app (Settings → API keys). On **Base** this is the whole identity: the relay signs from the wallet that minted the key, which must be a Privy embedded wallet (what the web app creates on login). On **0G**, create it while signed in with the SAME wallet as `BLINDMARKET_PRIVATE_KEY` — escrow funded from a different wallet is rejected at indexing (`NOT_TASK_AGENT`). |
26
- | `BLINDMARKET_PRIVATE_KEY` | 0G: yes · Base: for private briefs | On **0G** this wallet funds escrow in native 0G, pays gas, and signs `submitEvidence` for `complete_task`. On **Base** nothing is *signed* locally — the relay does that — but this key is still the executor's **decryption identity**: `fetch_brief` unwraps a private brief with it, so the pubkey you pass to `register_as_executor` must be the one `wallet_status` reports as `executorPublicKey`. Omit for read-only use or Base tasks that are all public. |
32
+ | `BLINDMARKET_API_KEY` | yes | `sk_…` key from the web app (Settings → API keys). On **Arc** and **0G**, create it while signed in with the SAME wallet as `BLINDMARKET_PRIVATE_KEY`: tasks are posted and delivered as the key's wallet, so escrow funded from a different wallet is rejected at indexing (`NOT_TASK_AGENT`). On Arc this is checked before anything is sent (`OWNER_MISMATCH`). On **Base** the key is the whole identity: the relay signs from the wallet that minted the key, which must be a Privy embedded wallet (what the web app creates on login). |
33
+ | `BLINDMARKET_PRIVATE_KEY` | Arc and 0G: yes · Base: for private briefs | On **Arc** this wallet approves and funds USDC escrow, pays gas in USDC, signs refunds, and signs `submitEvidence` for `complete_task`. On **0G** it does the same in native 0G. On **Base** nothing is *signed* locally, because the relay does that. The key is still the executor's **decryption identity** everywhere: `fetch_brief` unwraps a private brief with it, so the pubkey you pass to `register_as_executor` must be the one `wallet_status` reports as `executorPublicKey`. Omit it only for read-only use. |
34
+ | `BLINDMARKET_ARC_RPC_URL` | no | Arc RPC the local wallet signs over. Default by the chain id the backend names for `arc`: `https://rpc.mainnet.arc.io` (Arc mainnet, 5042) / `https://rpc.testnet.arc.io` (Arc Testnet, 5042002). It is checked to serve that chain id before anything is signed (`WRONG_RPC`). |
27
35
  | `BLINDMARKET_API_BASE` | no | Default `https://api.blindmarket.xyz` |
28
36
  | `BLINDMARKET_RPC_URL` | no | 0G RPC for the local wallet. Default `https://evmrpc.0g.ai` |
29
- | `BLINDMARKET_SETTLEMENT` | no | A chain key to require (`0g`, `base`, …). Default: ask the backend (`GET /health/bridge`). A backend that names its posting chain (`postingChain`) is followed: new tasks are escrowed there, and that chain's settlement token picks how you pay — an ERC-20 the relay serves (USDC on Base) through the relay, native 0G from the local wallet, anything else refused with `UNSUPPORTED_SETTLEMENT`. An older backend is read as before: `base` whenever it has a Base escrow and a Base marketplace signer configured. `0g` skips discovery; any other value fails loudly unless the backend really posts there. |
37
+ | `BLINDMARKET_SETTLEMENT` | no | A chain key to require (`arc`, `base`, `0g`, …). Default: ask the backend (`GET /health/bridge`). A backend that names its posting chain (`postingChain`) is followed: new tasks are escrowed there, and that chain's settlement token picks how you pay. An ERC-20 the relay serves (USDC on Base) goes through the relay. An ERC-20 on a chain with no relay (USDC on Arc) is signed by the local wallet. Native 0G comes from the local wallet. Anything else is refused with `UNSUPPORTED_SETTLEMENT`. Forcing `0g` against a backend that posts elsewhere is refused before the quote (`NOT_POSTING_CHAIN`). An older backend is read as before: `base` whenever it has a Base escrow and a Base marketplace signer configured. `0g` skips discovery; any other value fails loudly unless the backend really posts there. |
30
38
  | `BLINDMARKET_BASE_ESCROW_ADDRESS` | with forced `base`, older backends | The escrow the backend builds against, when an older backend's `/health/bridge` cannot confirm it. Needed because that endpoint reports Base only when the backend can sign for it (Base escrow **and** Base marketplace signer), while task creation needs only the Base escrow address — and that falls back to the generated `contractAddresses.ts`, so a backend with an empty Base `.env` still builds Base transactions. Only read when `BLINDMARKET_SETTLEMENT=base` and the backend does not name its posting chain. |
31
39
  | `BLINDMARKET_BASE_CHAIN_ID` | no | Chain for that override. Default `84532` (Base Sepolia). |
32
- | `BLINDMARKET_BASE_RPC_URL` | no | Read-only Base RPC for allowance/balance checks and receipt polling. Default by chain: `https://sepolia.base.org` (84532) / `https://mainnet.base.org` (8453). Another relay chain `<key>` reads `BLINDMARKET_<KEY>_RPC_URL` and has no default. |
40
+ | `BLINDMARKET_BASE_RPC_URL` | no | Read-only Base RPC for allowance/balance checks and receipt polling. Default by chain: `https://sepolia.base.org` (84532) / `https://mainnet.base.org` (8453). Another chain `<key>` reads `BLINDMARKET_<KEY>_RPC_URL`, with a default only for the chain ids listed in `settlement.ts` (`PUBLIC_RPC`). |
33
41
  | `BLINDMARKET_USDC_ADDRESS` | no | Older backends: override the USDC address if the backend reports a Base chain not listed in `settlement.ts`. A backend that names its settlement token is the authority; a value that disagrees with it is refused (`TOKEN_MISMATCH`). |
34
42
 
35
43
  How a spend is paid, by settlement mode (`wallet_status` shows which you are in):
36
44
 
37
- | | 0G (legacy) | Base |
38
- |---|---|---|
39
- | Escrow token | native 0G, 18 decimals | USDC, 6 decimals |
40
- | Who signs | `BLINDMARKET_PRIVATE_KEY`, locally | the backend relay — Privy signs from your API key's wallet |
41
- | Gas | native 0G from the same wallet | paid in USDC by the relay; you never hold ETH |
42
- | Extra step | — | a USDC `approve` to the escrow before `createTask`, persisted in the spend ledger so a retry never re-approves |
43
- | `post_task` amount | `amount: "2.5"` = 2.5 0G | `amount: "2.5"` = 2.5 USDC |
45
+ | | Arc (production) | Base | 0G (legacy) |
46
+ |---|---|---|---|
47
+ | Payment path | `local-erc20` | `relay-erc20` | `local-native` |
48
+ | Escrow token | USDC, 6 decimals | USDC, 6 decimals | native 0G, 18 decimals |
49
+ | Who signs | `BLINDMARKET_PRIVATE_KEY`, locally, over `BLINDMARKET_ARC_RPC_URL` | the backend relay: Privy signs from your API key's wallet | `BLINDMARKET_PRIVATE_KEY`, locally |
50
+ | Gas | USDC (Arc's gas coin) from the same wallet | paid in USDC by the relay; you never hold ETH | native 0G from the same wallet |
51
+ | Extra step | a USDC `approve` to the escrow before `createTask`, persisted in the spend ledger so a retry never re-approves | the same approve, through the relay | — |
52
+ | `post_task` amount | `amount: "2.5"` = 2.5 USDC | `amount: "2.5"` = 2.5 USDC | `amount: "2.5"` = 2.5 0G |
44
53
 
45
54
  **What an `sk_` key can do on Base — read this before putting one in a config file.** The relay signs any transaction from the key owner's Privy wallet with gas sponsored, and it does not consult the key's `capabilities`. So on Base an API key is unrestricted authority to move USDC (or any token) out of that wallet. Treat it like a private key: a dedicated wallet, funded with only what you intend to spend through the MCP.
46
55
 
@@ -62,7 +71,21 @@ To be explicit about what is and is not proven: the relay, ownership gate, autho
62
71
 
63
72
  ## Harness configuration
64
73
 
65
- **Claude Code — Base (no private key)**
74
+ **Claude Code: Arc (production today)**
75
+
76
+ ```bash
77
+ claude mcp add blindmarket \
78
+ --env BLINDMARKET_API_KEY=sk_... \
79
+ --env BLINDMARKET_PRIVATE_KEY=0x... \
80
+ -- node /path/to/BlindBounty/mcp/dist/index.js
81
+ ```
82
+
83
+ The key must be the wallet that minted the `sk_` key, holding USDC for escrow
84
+ and gas on the Arc network the backend settles on: Arc mainnet (chain 5042) or
85
+ Arc Testnet (5042002). `wallet_status` should then show
86
+ `payment: "local-erc20"`, `mode: "arc"` and that `chainId`.
87
+
88
+ **Claude Code: Base (no private key)**
66
89
 
67
90
  ```bash
68
91
  claude mcp add blindmarket \
@@ -118,12 +141,64 @@ Spending (local wallet, **two-step quote → confirm**):
118
141
  - `post_task` — post to the open market (wraps the brief key to every
119
142
  matching registered executor, or plaintext with `privacy: "public"`).
120
143
  - `poll_task_result` — wait for the deliverable (loop until `done: true`).
144
+ - `deploy_agent` — deploy a hosted agent. The deploy fee (1 USDC on Arc on
145
+ production) is one USDC transfer on Arc from `BLINDMARKET_PRIVATE_KEY`,
146
+ which must be the wallet that owns `BLINDMARKET_API_KEY` (checked before
147
+ paying), and the request is checked with the backend's deploy checks
148
+ (`POST /agents/deploy/validate`) at the quote and again right before paying,
149
+ so a deploy that would be refused costs nothing. The fee's `chainId` must
150
+ match the chain the backend lists. The agent's key is encrypted to that
151
+ wallet. The model provider's
152
+ key is read from `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GROQ_API_KEY` or
153
+ `GEMINI_API_KEY` in this server's environment, never taken as an argument;
154
+ `0g-compute` needs none. Arc's RPC is `BLINDMARKET_ARC_RPC_URL`, default
155
+ `https://rpc.mainnet.arc.io` on Arc mainnet (5042) and
156
+ `https://rpc.testnet.arc.io` on Arc Testnet (5042002).
157
+
158
+ A `quoteId` authorizes exactly the spend it quoted: the amount in base units,
159
+ the chain, escrow, token and paying wallet, the `idempotencyKey`, and the
160
+ service and its price (`rent_service`), the brief, duration and capabilities
161
+ (`post_task`), the task and its escrow (`cancel_task`, `claim_timeout`), or the
162
+ agent and the fee terms (`deploy_agent`). The confirm re-derives all of it
163
+ after its lookups and, if anything differs (a provider re-priced its listing,
164
+ the fee changed, the call names another amount or task), refuses with
165
+ `QUOTE_MISMATCH` before anything is uploaded, approved or sent. Quotes are
166
+ single-use either way: get a new quote, check it, and confirm that one. The
167
+ confirm's result reports the amount escrowed (`escrowed`) or the fee paid.
168
+
169
+ `claim_timeout` refunds a task whose worker never delivered. On work delivered
170
+ before the deadline and never judged it refunds nothing: the escrow sends the
171
+ task for review (an admin rules, and with no ruling within 14 days the worker
172
+ is paid), the quote says so in `note`, and the result reports
173
+ `outcome: "escalate"`.
174
+
175
+ The backend builds the escrow transactions this process signs (or hands to
176
+ the relay): `createTask`, `cancelTask` / `claimTimeout` and `submitEvidence`.
177
+ Each is decoded first and must be exactly the call the spend asked for (this
178
+ task hash, token, amount and duration; this task id; this task and the
179
+ evidence hash of the output being delivered) on the expected escrow, with no
180
+ other value, or it is refused with `TX_MISMATCH` (`ESCROW_MISMATCH` for
181
+ another target, `CHAIN_MISMATCH` for another chain id) and nothing is sent.
182
+ Only `to` and `data` are forwarded.
121
183
 
122
184
  Every spend requires an `idempotencyKey`. Retries with the same key **resume**
123
185
  (created → funded → indexed stage machine persisted in
124
186
  `~/.blindmarket/mcp-state.json`) — a crash between the funding transaction and
125
187
  indexing never double-pays; re-calling re-runs the index step with the saved
126
- transaction hash.
188
+ transaction hash. A funded spend finishes even when the settlement chain can't
189
+ be discovered at that moment, since listing it needs no signature. A retry
190
+ that would still sign (nothing funded, no refund sent) continues only on the
191
+ network the spend started on. The record keeps the chain id, because a chain
192
+ key names one network at a time: `arc` is Arc Testnet (5042002) or Arc mainnet
193
+ (5042), whichever the backend runs. On another network, or for a record
194
+ written before chain ids were kept, the retry answers `SETTLEMENT_CHANGED` and
195
+ nothing is sent. `deploy_agent` records its fee transaction, and its chain id,
196
+ the moment it is broadcast, so a failed deploy retried with the same key
197
+ deploys with that payment instead of paying again. Once the backend takes the
198
+ fee on another network, that payment does not count there, and the retry
199
+ answers `SETTLEMENT_CHANGED` and asks for a new key. A fee recorded without its
200
+ chain id that the backend cannot find is looked up on the fee chain: when it is
201
+ there the same key finishes the deploy, and when it is not the retry says so.
127
202
 
128
203
  ## Executor runtime tools (gated off)
129
204
 
@@ -136,12 +211,16 @@ that loop is verified against stubbed backends only — not yet end to end on a
136
211
  live one. It signs `submitEvidence` **locally** (no relay): it needs
137
212
  `BLINDMARKET_PRIVATE_KEY` to be the wallet that owns `BLINDMARKET_API_KEY`, and
138
213
  an RPC for the settlement chain (`BLINDMARKET_RPC_URL` for 0G,
139
- `BLINDMARKET_BASE_RPC_URL` for Base — there is no default for Base, and tasks
214
+ `BLINDMARKET_BASE_RPC_URL` for Base, `BLINDMARKET_ARC_RPC_URL` for Arc — there
215
+ is no default for Base or Arc here, and tasks
140
216
  on a chain without an RPC are skipped by the runtime itself: older backends
141
217
  store the declared `supportedChains` without filtering offers or `/accept` by
142
218
  it).
143
219
  Without `BLINDMARKET_PRIVATE_KEY` the runtime refuses to start (SDK 0.6.0) —
144
- it no longer registers a throwaway wallet. `BLINDMARKET_EXPERIMENTAL_RUNTIME=true`
220
+ it no longer registers a throwaway wallet. `BLINDMARKET_EXECUTOR_MIN_REWARD`
221
+ is the per-task floor, a whole number of USDC base units (`1000000` = 1 USDC):
222
+ the runtime claims only tasks whose listing records a USDC reward of at least
223
+ that much, and skips listings with no recorded reward (unset takes every task). `BLINDMARKET_EXPERIMENTAL_RUNTIME=true`
145
224
  enables it. The maintained way to EARN is still a platform agent deployed in
146
225
  the web app, operated via the remote MCP endpoint's `start_agent` /
147
226
  `stop_agent` / `get_agent_logs` tools.
package/dist/index.js CHANGED
@@ -71,7 +71,7 @@ const runtimeCfg = {
71
71
  privateKey: walletCtx?.wallet.privateKey,
72
72
  // The 0G RPC is the one the local wallet was loaded with (the SDK has no
73
73
  // fallback RPC); Base is declared only when explicitly configured.
74
- rpcUrls: { '0g': walletCtx?.rpcUrl, base: process.env.BLINDMARKET_BASE_RPC_URL },
74
+ rpcUrls: { '0g': walletCtx?.rpcUrl, base: process.env.BLINDMARKET_BASE_RPC_URL, arc: process.env.BLINDMARKET_ARC_RPC_URL },
75
75
  displayName: process.env.BLINDMARKET_EXECUTOR_NAME ?? 'MCP Executor',
76
76
  capabilities: parseCapabilities(process.env.BLINDMARKET_EXECUTOR_CAPABILITIES),
77
77
  minReward: process.env.BLINDMARKET_EXECUTOR_MIN_REWARD,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rent.d.ts","sourceRoot":"","sources":["../src/rent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAkD,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAmDlG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG;IAAE,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,CAwuC3I"}
1
+ {"version":3,"file":"rent.d.ts","sourceRoot":"","sources":["../src/rent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,EAEkE,KAAK,UAAU,EACvF,MAAM,iBAAiB,CAAC;AAkIzB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,GAAG;IAAE,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,CAssD3I"}