otto-intel-mcp 0.1.0 → 0.1.1

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,43 +1,54 @@
1
- # otto Intel MCP
1
+ # Otto Intel MCP
2
2
 
3
- Read-only pre-trade intelligence over MCP, from one shared tool catalog:
3
+ Market intelligence and trade construction for AI agents, over MCP: SEC filings and insider flow for US stocks, tokenized equities on Robinhood Chain, Base and Polymarket market context, plus four **constructors** that build a ready-to-sign swap, bridge, Polymarket order or Hyperliquid perp order for an address you supply. Pay per call in USDC on Base; on the hosted server the first call from your network address is free.
4
4
 
5
- - Hosted Streamable HTTP at `https://mcp.ottoai.services`: one successful call free per observed network origin, then pay per call in USDC (x402) your agent brings its wallet. Its `otto_catalog` storefront tool is always free.
6
- - Local stdio package (`npx otto-intel-mcp`). The operator's dedicated payer wallet settles each allowlisted data call over x402.
5
+ - Hosted: `https://mcp.ottoai.services`21 tools.
6
+ - Local: `npx otto-intel-mcp` the 10 intelligence tools, paid from a wallet you configure.
7
+ - Docs: https://docs.useotto.xyz/acp-swarm/otto-intel-mcp
7
8
 
8
- The stdio transport exposes no fund-moving tool. The hosted transport is read-only by default; when the operator arms the execution tools (`OTTO_EXECUTION_MCP_ENABLED=true`) it also serves four **prepare-only** constructors (swap, bridge, Polymarket order, perp order — unsigned plans handed back to the caller's own custody), and when it additionally holds Otto's CDP developer credentials it serves ONE tool that submits: `otto_submit_under_delegation` (below), under the end user's own CDP delegation, server-to-server only. Nothing here holds a user key.
9
+ ## Quick start (hosted, under a minute)
9
10
 
10
- ## Tool catalog
11
+ **Claude Code**
11
12
 
12
- | Tool | Argument | x402 price |
13
- | ------------------------------- | -------------------- | ---------: |
14
- | `otto_tokenized_equities` | optional `thesis` | $0.001 |
15
- | `otto_rh_season` | none | $0.001 |
16
- | `otto_equity_intel` | `ticker` | $0.003 |
17
- | `otto_insider_trades` | `ticker` | $0.003 |
18
- | `otto_institutional_holdings` | `manager` CIK/ticker | $0.003 |
19
- | `otto_equity_smart_money` | `ticker` | $0.006 |
20
- | `otto_equity_smart_money_brief` | `ticker` | $0.10 |
21
- | `otto_base_season` | none | $0.002 |
22
- | `otto_pm_markets` | none | $0.001 |
23
- | `otto_pm_crypto` | none | $0.001 |
13
+ ```bash
14
+ claude mcp add otto-intel --transport http https://mcp.ottoai.services
15
+ ```
16
+
17
+ **Cursor, Claude Desktop, Codex CLI, any MCP client** — add a remote server with this URL (Cursor: `~/.cursor/mcp.json`; Claude Desktop: Connectors → add custom connector; Codex: `codex mcp add otto-intel --url https://mcp.ottoai.services`):
18
+
19
+ ```json
20
+ {
21
+ "mcpServers": {
22
+ "otto-intel": { "url": "https://mcp.ottoai.services" }
23
+ }
24
+ }
25
+ ```
24
26
 
25
- The hosted transport also exposes `otto_catalog`. It derives the complete live x402 menu and count from `/.well-known/x402` plus `/llm.txt`; it never consumes the free intelligence call and never requires payment. The ten intelligence prices above mirror the canonical x402 catalog and are parity-tested.
27
+ **First call** ask your agent, or call the tool directly:
26
28
 
27
- The stdio client accepts only the official otto x402 origin, the Base network, canonical Base USDC, and a per-tool amount at or below the ceiling above. Redirects are disabled.
29
+ ```text
30
+ Use otto_pm_crypto and summarize the top three markets.
31
+ ```
32
+
33
+ ```json
34
+ { "method": "tools/call", "params": { "name": "otto_pm_crypto", "arguments": {} } }
35
+ ```
28
36
 
29
- ## Local stdio package
37
+ (a standard MCP `tools/call` request — your MCP client wraps it in JSON-RPC and handles `initialize` and the Streamable HTTP session)
30
38
 
31
- > Unpublished today (`"private": true`; see `publishGate` in `package.json`): the `npx` lines below describe the shape after the first publish. Until then run it from the repo (`npm run dev:stdio`) or from a local `npm pack` tarball.
39
+ That call is free (one per network address). The next one returns a payment request; your agent signs it with an x402 wallet and retries with the signed payload in `x_payment` see [How paying works](#how-paying-works).
32
40
 
33
- Use a fresh payer wallet that holds only the Base USDC intended for data calls. Never use a primary wallet.
41
+ ## Quick start (local)
42
+
43
+ Runs the 10 intelligence tools on your machine and pays each call from a wallet you provide. It needs one variable, `X402_PRIVATE_KEY` — the key of a wallet holding some USDC on Base.
44
+
45
+ **Claude Code**
34
46
 
35
47
  ```bash
36
- export X402_PRIVATE_KEY=0x...
37
- npx -y otto-intel-mcp
48
+ claude mcp add otto-intel -e X402_PRIVATE_KEY=0x… -- npx -y otto-intel-mcp
38
49
  ```
39
50
 
40
- Example MCP configuration:
51
+ **Any MCP client (stdio)** — Cursor: `~/.cursor/mcp.json`; Claude Desktop: `claude_desktop_config.json`:
41
52
 
42
53
  ```json
43
54
  {
@@ -45,58 +56,179 @@ Example MCP configuration:
45
56
  "otto-intel": {
46
57
  "command": "npx",
47
58
  "args": ["-y", "otto-intel-mcp"],
48
- "env": {
49
- "X402_PRIVATE_KEY": "${X402_PRIVATE_KEY}"
50
- }
59
+ "env": { "X402_PRIVATE_KEY": "0x…" }
51
60
  }
52
61
  }
53
62
  }
54
63
  ```
55
64
 
56
- The private key stays in the local MCP process. It is used only to authorize bounded x402 data payments; it is never sent to otto.
65
+ Requires Node 22 or newer. Optional: `X402_RPC_URL` (your own Base RPC), `X402_TIMEOUT_MS` (default 30000).
57
66
 
58
- ## Hosted service
67
+ ## What you get
59
68
 
60
- Connect a Streamable HTTP MCP client to `https://mcp.ottoai.services`. One successful intelligence call is free per observed network origin. Changing caller-supplied session IDs or client metadata does not create another grant; callers sharing one outbound address also share the courtesy call.
69
+ ### Intelligence tools hosted and local
61
70
 
62
- Later unpaid calls return the paid route's machine-actionable, recoverable Base-USDC EIP-3009 requirement. The wrapper also supplies an exact `command`, tool-specific `why_paid`, the shared `pricing_model`, honest `free_call` state, and an `otto_catalog` pointer. Retry the same tool with the signed payload in `x_payment`. The public x402 endpoint remains the verifier and settler, and the hosted process releases a paid payload only when that endpoint returns its settlement receipt.
71
+ | Tool | Argument | Returns | Price |
72
+ | --- | --- | --- | ---: |
73
+ | `otto_tokenized_equities` | optional `thesis` | The live registry of US stocks and ETFs tokenized on Robinhood Chain — symbol, token address, reference price, tradability; with a thesis, a ranked shortlist with a match reason per row | $0.001 |
74
+ | `otto_rh_season` | — | Robinhood Chain movers, rug-screened, with per-token risk flags | $0.001 |
75
+ | `otto_equity_intel` | `ticker` | SEC fundamentals for a US ticker: revenue and net-income trend, margins, EPS, leverage, recent 10-K / 10-Q / 8-K filings, and a short summary | $0.003 |
76
+ | `otto_insider_trades` | `ticker` | Parsed SEC Form 4 insider transactions: purchases vs sales, dollar values, roles, net balance | $0.003 |
77
+ | `otto_institutional_holdings` | `manager` (CIK or ticker, e.g. `1067983` or `BLK`) | The latest 13F-HR top positions for an institutional manager, amendments applied | $0.003 |
78
+ | `otto_equity_smart_money` | `ticker` | Form 4 insider activity plus trailing-twelve-month XBRL fundamentals in one bundle | $0.006 |
79
+ | `otto_equity_smart_money_brief` | `ticker` | One AI-written brief over Form 4 flow, 13D/13G ownership events and fundamentals | $0.10 |
80
+ | `otto_base_season` | — | Quality-screened Base tokens with current social and trusted-KOL context | $0.002 |
81
+ | `otto_pm_markets` | — | The highest-volume open Polymarket markets: outcome probabilities, bid/ask, liquidity, volume, end dates | $0.001 |
82
+ | `otto_pm_crypto` | — | The same for BTC, ETH and crypto Polymarket markets | $0.001 |
63
83
 
64
- If an input has no free result, the call returns promptly with the paid route's x402 requirement and the free grant remains available for an input that can be served free. The paid route covers inputs it has never served before. After an interrupted delivery, retry the exact same input with the same signed payload: the durable rail replays its settled response without a second settlement, or completes the attempt if it remained uncharged.
84
+ All of these return data and context, not recommendations.
65
85
 
66
- A successfully delivered or recovered paid call carries the route's settlement receipt in the result metadata under `com.ottoai/payment-response` `{ header, value }`, verbatim, under the header name the paid route used.
86
+ ### Execution constructorshosted, free
67
87
 
68
- The hosted process has no payer wallet or signing key.
88
+ A constructor builds the transaction; **your wallet signs and sends it.** Give it the address that will sign, and it returns an *envelope*: the ordered steps (for example allowance reset → approval → swap), every check it ran on its own output, a `valid_until`, and a digest so a stale or altered plan is detectable. Otto Intel MCP itself never signs or submits.
69
89
 
70
- For a self-contained transport demo with a mock data source:
90
+ | Tool | Builds | For |
91
+ | --- | --- | --- |
92
+ | `otto_prepare_swap` | A same-chain ERC-20 swap via LI.FI, as ready-to-sign steps | Your EOA or Safe on any supported EVM chain |
93
+ | `otto_prepare_bridge` | A cross-chain native-USDC bridge over Circle CCTP (Ethereum, Polygon, Base, Arbitrum, Avalanche) | Your EOA or Safe |
94
+ | `otto_prepare_polymarket_order` | A Polymarket CTF Exchange V2 limit order as typed data, tick and size validated against the live market | Your Polygon EOA |
95
+ | `otto_prepare_perp_order` | A Hyperliquid perp limit order (optional take-profit / stop-loss), as the L1 action plus the exact EIP-712 recipe to sign | Your Hyperliquid account |
71
96
 
72
- ```bash
73
- npm run demo:hosted
97
+ To verify, sign and submit an envelope from the command line or from code, use the companion `otto-execute` (CLI + library, in the same repository; npm release following this one) — see the [execution seam docs](https://docs.useotto.xyz/acp-swarm/execution-seam).
98
+
99
+ ### Always free
100
+
101
+ - `otto_catalog` — the complete live Otto x402 menu (paths, descriptions, prices, payment details).
102
+ - `otto_x_recipes` — Otto X's X Layer recipe menu with each recipe's payment requirement.
103
+ - `otto_delegation_fence_status` — whether the delegated-send fence is installed on this server (read-only).
104
+
105
+ The other four `otto_delegation_*` / `otto_submit_under_delegation` tools are server-to-server (they need Otto's delegation header); an agent reaches that path through `otto-execute delegate`, documented on the execution-seam page.
106
+
107
+ ## How paying works
108
+
109
+ Calls are priced per tool ($0.001–$0.10) and paid in USDC on Base through x402. On the hosted server the first successful intelligence call from your network address (IP) is free; every call after that needs a payment:
110
+
111
+ 1. Call the tool without `x_payment` → it returns `payment_required` (below) with the price and the exact requirement.
112
+ 2. Sign it with an x402 client from a wallet holding USDC on Base. With `@x402/core` + `@x402/evm` + `viem`:
113
+
114
+ ```ts
115
+ import { x402Client } from '@x402/core/client';
116
+ import { encodePaymentSignatureHeader } from '@x402/core/http';
117
+ import { ExactEvmScheme } from '@x402/evm/exact/client';
118
+ import { toClientEvmSigner } from '@x402/evm';
119
+ import { createPublicClient, http } from 'viem';
120
+ import { privateKeyToAccount } from 'viem/accounts';
121
+ import { base } from 'viem/chains';
122
+
123
+ const account = privateKeyToAccount(process.env.X402_PRIVATE_KEY as `0x${string}`);
124
+ const signer = toClientEvmSigner(account, createPublicClient({ chain: base, transport: http() }));
125
+ const client = new x402Client((_version, requirements) => requirements[0]); // pick accepts[0]
126
+ client.register('eip155:*', new ExactEvmScheme(signer));
127
+
128
+ const payload = await client.createPaymentPayload(result.payment_required); // the 402 body
129
+ const x_payment = encodePaymentSignatureHeader(payload); // base64 — the PAYMENT-SIGNATURE header value
74
130
  ```
75
131
 
76
- ## Verification
132
+ 3. Retry the same tool with that string in `x_payment`. The paid result carries the settlement receipt in its metadata under `com.ottoai/payment-response` — keep it; it is the proof a later rating or refund claim is made against.
77
133
 
78
- > Build order: `services/otto-execute` resolves `otto-intel-mcp/adapter` and `otto-intel-mcp/execution` from this package's `dist/` run `npm run build` here before typechecking or testing otto-execute. Also: `tsc --noEmit` on the FULL tsconfig needs the monorepo (two tests import the sibling `services/x402-router/src/catalog.ts`); the deploy build uses `tsconfig.build.json` (src only), so an isolated Railway build is unaffected.
134
+ If a route has no result for your input, it answers promptly and the free call is not consumed. If a paid delivery is interrupted, retry the same input with the same `x_payment`: the settled response is replayed without a second charge, or the attempt completes if it was never charged.
79
135
 
80
- ```bash
81
- npm run typecheck
82
- npm test
83
- npm run build
136
+ `payment_required` is the standard x402 v2 body (`accepts[0]` is the requirement to sign; `payment.requirement` is the same one, flattened for reading; `payment_required_header` is it base64-encoded for clients that consume the header form). Each requirement is valid for 300 seconds. If your MCP client has no x402 wallet of its own, the local server is the simplest route: it signs every payment from `X402_PRIVATE_KEY` automatically, with no free call.
137
+
138
+ ## For agents: exact shapes
139
+
140
+ Intelligence tools take their one argument plus an optional `x_payment` string. Example, first call:
141
+
142
+ ```json
143
+ { "name": "otto_equity_intel", "arguments": { "ticker": "NVDA" } }
144
+ ```
145
+
146
+ A successful result is one text part containing JSON — `otto_pm_crypto` returns, abbreviated:
147
+
148
+ ```json
149
+ {
150
+ "status": "success",
151
+ "data": {
152
+ "venue": "polymarket",
153
+ "markets": [
154
+ {
155
+ "question": "Will the price of Bitcoin be above $70,000 on September 2?",
156
+ "outcomes": [{ "outcome": "Yes", "probability": 0.999 }, { "outcome": "No", "probability": 0.001 }],
157
+ "bestBid": 0.998, "bestAsk": 1, "liquidityUsd": 14749.24, "volume24hUsd": 103765.46,
158
+ "endDate": "2026-09-02T16:00:00Z", "url": "https://polymarket.com/event/bitcoin-above-on-september-2-2026"
159
+ }
160
+ ]
161
+ }
162
+ }
163
+ ```
164
+
165
+ An unpaid call after the free one returns `isError: true` with this payload (abbreviated) — sign it with an x402 client and retry with the encoded payload in `x_payment`:
166
+
167
+ ```json
168
+ {
169
+ "error": "payment_required",
170
+ "status": 402,
171
+ "protocol": "x402",
172
+ "tool": "otto_pm_crypto",
173
+ "price_usdc": "0.001",
174
+ "payment": {
175
+ "network": "eip155:8453",
176
+ "asset": "USDC",
177
+ "amount_atomic": "1000",
178
+ "requirement": {
179
+ "scheme": "exact",
180
+ "network": "eip155:8453",
181
+ "amount": "1000",
182
+ "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
183
+ "payTo": "0x0E84dDEdAaE6A779c462C22a59F301EC31B6b808",
184
+ "maxTimeoutSeconds": 300,
185
+ "extra": { "name": "USD Coin", "version": "2" }
186
+ }
187
+ },
188
+ "payment_required": { "x402Version": 2, "accepts": ["…the same requirement, x402 v2 shape…"] },
189
+ "payment_required_header": "<base64 of payment_required>",
190
+ "retry": { "tool": "otto_pm_crypto", "argument": "x_payment", "forwarding_header": "PAYMENT-SIGNATURE" }
191
+ }
192
+ ```
193
+
194
+ Constructor arguments (addresses are `0x` + 40 hex; swap and bridge amounts are strings in atomic token units; Polymarket price/size and Hyperliquid size/price are plain decimal strings):
195
+
196
+ ```json
197
+ {
198
+ "name": "otto_prepare_swap",
199
+ "arguments": {
200
+ "accountProfile": { "kind": "eoa", "address": "0xYourAddress", "chainId": 8453 },
201
+ "chainId": 8453,
202
+ "fromToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
203
+ "toToken": "0x4200000000000000000000000000000000000006",
204
+ "fromAmount": "1000000",
205
+ "slippage": { "maxBps": 50, "minAmountOut": "400000000000000" },
206
+ "client_ref": "my-trade-1"
207
+ }
208
+ }
84
209
  ```
85
210
 
86
- ## Optional CDP SDK (the delegated-send path)
211
+ - `otto_prepare_bridge`: `accountProfile`, `fromChainId`, `toChainId`, `fromToken`, `toToken` (native USDC on each side), `fromAmount`, `slippage`, optional `destinationRecipient` (required for a Safe).
212
+ - `otto_prepare_polymarket_order`: `accountProfile` (chainId 137), `tokenId` (the outcome token, not the condition id), `side` `BUY|SELL`, `price` (e.g. `"0.045"`, on the market's tick), `size` (shares).
213
+ - `otto_prepare_perp_order`: `accountProfile` (chainId 1337), `asset` (e.g. `"BTC"`), `side`, `size`, `limitPrice`, optional `timeInForce` `Gtc|Ioc|Alo`, `reduceOnly`, `takeProfitPrice`, `stopLossPrice`, `tradingSigner`, `vaultAddress`.
87
214
 
88
- `@coinbase/cdp-sdk` is an **optional dependency**, loaded lazily in exactly two places — `openCdpRig` (`otto-intel-mcp/adapter-cdp`, for a consumer that delegates) and the hosted boot's `openDelegationServicesFromEnv` (`src/execution-delegation.ts`, only when the five delegation variables are set). Importing either adapter entry never resolves it, and a consumer that only verifies or signs with its own key never needs it. The hosted service installs it at its own root, where the `overrides` pin of the SDK's optional `@x402/*` peers to this package's `2.23.0` is honored.
215
+ Every tool's full description and JSON schema comes back from `tools/list`.
89
216
 
90
- A consumer installing this package gets the SDK too. As of 2026-09-01 this package's own `@x402/axios` + `@x402/evm` are `2.23.0`, which satisfies the SDK's optional `@x402/*@^2.19.0` peers directly — so the graph dedupes to a single `@x402/core@2.23.0` and `npm ls` reports **no** "invalid" marker, with or without the `overrides` pin (npm honors `overrides` in the root project only, so it never reached consumers anyway). The pin is kept, in lockstep, purely for root-install determinism. Install with `--omit=optional` if you do not delegate.
217
+ ## Using this package as a library
91
218
 
92
- ## Delegated send (hosted only)`otto_submit_under_delegation`
219
+ Three import paths, for code that consumes what the constructors produce (there is no root import use the subpaths):
93
220
 
94
- Registers only when the hosted service holds Otto's CDP developer credentials — **five** variables, all or none (partial → boot refuses naming the MISSING names; the SDK absent while configured → named boot refusal; configured while `OTTO_EXECUTION_MCP_ENABLED` is off → boot refuses): `CDP_API_KEY_ID` · `CDP_API_KEY_SECRET` · `CDP_WALLET_SECRET` · `OTTO_DELEGATION_SERVER_SECRET` (≥ 32 chars; the caller presents it in the `x-otto-delegation-auth` request header, never in arguments) · `BASE_RPC_URL` (https). Values are set on Railway by hand, never on Vercel.
221
+ - `otto-intel-mcp/execution` the envelope schema and types, the digest and freshness assertions, the fee and delegation constants.
222
+ - `otto-intel-mcp/adapter` — verify an envelope against your own intent and sign or submit it with an EOA.
223
+ - `otto-intel-mcp/adapter-cdp` — the same over a Coinbase CDP delegation (`@coinbase/cdp-sdk` is an optional dependency, loaded only here).
95
224
 
96
- **MUST NEVER SCALE ABOVE ONE REPLICA** (`railway.json` `numReplicas: 1`): the fence read-back, the per-user in-flight lock, the per-artifact idempotency record and the signer's rig lock are all process-local. A second replica would allow cross-replica duplicate submissions, nonce races and unsynchronised revocation.
225
+ Field-by-field documentation: https://docs.useotto.xyz/acp-swarm/execution-seam.
97
226
 
98
- Idempotency: one record per artifact for its freshness window (+10 min grace) — a retry of a SENT artifact replays the stored result (`replayed: true`, nothing re-sent); a HALTED artifact is never retried on this server (the same refusal replays; prepare again); a refusal before any send leaves no record. A record answers only the SAME request: it is bound to a fingerprint over the end user, the envelope's RECOMPUTED whole-envelope commitment (the `artifact_digest` field is never trusted) and the canonical prepare input, so a tampered envelope under a known id is refused (`ARTIFACT_NOT_PREPARED_HERE`) and the same envelope with another user, account or intent is refused (`DELEGATION_REPLAY_MISMATCH`) — a stored success never attests to a plan that was not the one sent. The record is in-process, so the tool submits ONLY artifacts THIS process prepared (`src/prepared-artifacts.ts`: every hosted `otto_prepare_swap` records its `artifact_id`; any other id is refused `ARTIFACT_NOT_PREPARED_HERE` before anything is read). The entry binds the id AND the envelope's whole-envelope commitment, so a re-IDed envelope prepared elsewhere is refused too. That holds across a restart AND across a rolling replacement in which the old and the new process serve at once — the process that did not prepare an artifact cannot know whether the other already sent it, so it refuses. Live entries are never evicted (an issued artifact must always find its record); the registry is bounded by refusing a NEW prepare at 100,000 live entries (`PREPARED_ARTIFACT_CAPACITY`). That refusal is unreachable in practice — an entry lives for the artifact's freshness window plus the 10-minute grace (≈ 15 minutes), so 100,000 live entries means ≈ 110 sustained prepares per second on this service against a per-identity prepare rate limit of 10 per minute by default; it exists so the bound is honest, and it must NEVER be "fixed" into evicting a live entry, which would refuse an issued artifact instead of replaying it. Consequence, by design: an agent whose prepare → submit spans a deploy is refused and prepares again (rare; fail-closed). Refusals carry cause classes, never upstream error text; boot failures print fixed text with URLs and configured secret values redacted (`src/boot-redaction.ts`).
227
+ ## Links
99
228
 
100
- **Delegation admin tools (hosted only, same header, same admission):** `otto_delegation_fence` — the ONLY writer of the Model-B project policy: ensure-by-digest + read-back. Rules, each mutation-proved: EXACTLY ONE project-scope policy or refuse (`DELEGATION_FENCE_AMBIGUOUS` — Coinbase allows one; more is an anomalous snapshot, never judged, never written to; the send tool's read-back refuses it too); a policy is Otto's own only when its description matches `^OTTO model b swap fence v<N>$` exactly — N ≤ this server's version with stale rules → updated IN PLACE, N newer → refused (`DELEGATION_FENCE_NEWER`, never downgraded), anything else → refused BY NAME (`DELEGATION_FENCE_FOREIGN`; never overwritten, never deleted); a create Coinbase refuses as a duplicate is never retried (re-read once, judge what is there); before an update the policy is re-read by id and must still be exactly the snapshot; after any write the proof is a read-back of exactly one policy whose id IS the written id and which is v-current (a bounded poll, then fail-closed). **Operational premise (no conditional update in `@coinbase/cdp-sdk` 1.54.0 — `UpdatePolicyOptions` carries no revision/ETag):** AT MOST ONE ENSURE WRITES PROJECT-WIDE AT A TIME, ACROSS VERSIONS — the ensure is an ops action run by one operator (the seat or the Founder, with the server secret), never during a rolling deploy (two versions of the tool running at once are two writers and the older one would win a race and downgrade), never from the dApp (PR-2's mint gate reads `fence.present` from `otto_delegation_status`), and nobody edits the policy in the CDP portal while it runs. Under that premise the pre-write re-read is exact — without it, "never overwrite foreign" and "never downgrade" narrow to "…what was foreign / newer one round-trip ago". `otto_delegation_status` — `{ accessToken }` only: the server resolves the end user through `cdp.endUser.validateAccessToken`; a client-sent user id is refused; the output is bound to that user. `otto_delegation_revoke` — `{ accessToken }` (user path) OR `{ userId, support_reason }` (support path, for an operator holding the server secret; the reason is logged through the boot redactor — URLs and configured secret values never land in the log — a token never is); developer-side revoke confirmed by read-back, and this server submits nothing for the user afterwards even if the read-back failed. `otto_delegation_fence_status` — PUBLIC and read-only, no header: the fence's public promise (`present`, versioned name, rules digest, per-swap cap USD; a `reason` class when absent) — never a user, a grant, an address or a policy's contents; `otto-execute delegate` reads it before minting. With delegation configured the hosted tool count is 21.
229
+ - Docs: https://docs.useotto.xyz/acp-swarm/otto-intel-mcp · execution seam: https://docs.useotto.xyz/acp-swarm/execution-seam
230
+ - The full Otto x402 catalog: https://x402.ottoai.services
231
+ - Otto AI: https://useotto.xyz · X: [@useOttoAI](https://x.com/useOttoAI)
232
+ - Changelog: 0.1.1 — README rewritten for first-time users and agents, source maps removed from the package, publish gated by a privacy audit; 0.1.0 — first release (hosted + local server, execution constructors, library entries).
101
233
 
102
- Residual (spec-level, not this tool's): the MCP SDK requires `params.arguments` to be PRESENT and an OBJECT before any handler runs (the request schema, then the registered object schema), so an absent `arguments`, `null`, an array or a primitive is answered by the SDK's `InvalidParams` error whether or not the caller is authenticated — an objectness/presence oracle every MCP server has. The tool's own field schema is validated only after the caller header is accepted; the SDK's error carries no secret and no field name (asserted in `test/hosted-delegation.test.ts`). The fence and its residual are stated in `src/execution-delegation-policy.ts`.
234
+ Running the hosted server yourself, or building from the monorepo: see `SETUP.md` in the repository.
@@ -27,7 +27,7 @@
27
27
  * snapshot (same description, same rules digest); any change → refused, nothing written. `@coinbase/cdp-sdk`
28
28
  * 1.54.0 offers no conditional update (`UpdatePolicyOptions` = { id, policy, idempotencyKey } — no revision,
29
29
  * no ETag), so the window between that re-read and the write cannot be closed by code. It is closed by the
30
- * OPERATIONAL PREMISE, stated here, in the tool description and in the README: AT MOST ONE ENSURE WRITES
30
+ * OPERATIONAL PREMISE, stated here, in the tool description and in SETUP.md: AT MOST ONE ENSURE WRITES
31
31
  * PROJECT-WIDE AT A TIME, ACROSS VERSIONS — the ensure is an OPS action run by one operator, never during a
32
32
  * rolling deploy (two versions of this tool running at once are two writers, and the older one would win a
33
33
  * race and downgrade); the dApp never invokes it (PR-2's mint gate reads `fence.present` from
@@ -27,7 +27,7 @@
27
27
  * snapshot (same description, same rules digest); any change → refused, nothing written. `@coinbase/cdp-sdk`
28
28
  * 1.54.0 offers no conditional update (`UpdatePolicyOptions` = { id, policy, idempotencyKey } — no revision,
29
29
  * no ETag), so the window between that re-read and the write cannot be closed by code. It is closed by the
30
- * OPERATIONAL PREMISE, stated here, in the tool description and in the README: AT MOST ONE ENSURE WRITES
30
+ * OPERATIONAL PREMISE, stated here, in the tool description and in SETUP.md: AT MOST ONE ENSURE WRITES
31
31
  * PROJECT-WIDE AT A TIME, ACROSS VERSIONS — the ensure is an OPS action run by one operator, never during a
32
32
  * rolling deploy (two versions of this tool running at once are two writers, and the older one would win a
33
33
  * race and downgrade); the dApp never invokes it (PR-2's mint gate reads `fence.present` from
@@ -12,7 +12,8 @@
12
12
  * per-artifact idempotency record (sent → replayed, halted → never retried), then one delegated
13
13
  * plan at a time per end user (the rig lock serialises revocation, not sends);
14
14
  * 2. FENCE: the project policy is present, named and digests to v1 — else refuse;
15
- * 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse;
15
+ * 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse; and
16
+ * its REMAINING validity is inside the ruled maximum (see below) — else refuse;
16
17
  * 4. ACCOUNT: the address the caller prepared for is one of THIS end user's CDP accounts, as CDP reports
17
18
  * them — never an address the caller binds on its own (a Dynamic-connected address is never a CDP
18
19
  * end-user address by construction);
@@ -21,6 +22,13 @@
21
22
  * 6. SEND: `CdpDelegatedSigner.sendPlan` — sealed receipts, halt clears the allowance, fail-closed once
22
23
  * revocation was requested.
23
24
  *
25
+ * 🔴 WHY THE EXPIRY BOUND LIVES HERE AND NOT ON THE MINT PATH. The mint is browser→Coinbase direct —
26
+ * `createDelegation({ expiresAt })` runs inside the end user's own session and Otto's server is not a hop
27
+ * on it. The 90/180-day bound the page and the CLI apply is therefore UX, not a control: a modified
28
+ * client, a hostile clock, or any other caller of Coinbase's API can mint whatever expiry COINBASE
29
+ * accepts, which is far more than 180 days. Otto is in the path at exactly one moment — when it goes to
30
+ * USE the grant — so that is where the ceiling is enforced, on the grant Otto reads back from CDP (step 3b).
31
+ *
24
32
  * Nothing here logs the header, the secret, or a credential. Refusals are machine-readable codes; upstream
25
33
  * error bodies are never relayed.
26
34
  */
@@ -34,6 +42,14 @@ import type { ExecutionToolRuntime } from './execution-tools.js';
34
42
  export declare const DELEGATION_ENV_NAMES: readonly ["CDP_API_KEY_ID", "CDP_API_KEY_SECRET", "CDP_WALLET_SECRET", "OTTO_DELEGATION_SERVER_SECRET", "BASE_RPC_URL"];
35
43
  /** The public CDP project id the fence-status tool publishes (a UUID; PUBLIC, never a secret). */
36
44
  export declare const PUBLIC_PROJECT_ID_ENV_NAME: "OTTO_CDP_PROJECT_ID";
45
+ /**
46
+ * Clock skew allowed between Coinbase's issuer and this process when bounding a grant's remaining
47
+ * validity. Small on purpose: it is ADDED to the ceiling, so a generous value would widen the very bound
48
+ * it exists to make workable.
49
+ */
50
+ export declare const DELEGATION_EXPIRY_SKEW_MS: number;
51
+ /** The ruled ceiling on how much longer a delegation may still be able to sign. See step 3b. */
52
+ export declare const DELEGATION_MAX_REMAINING_MS: number;
37
53
  export interface DelegationEnv {
38
54
  readonly credentials: CdpDeveloperCredentials;
39
55
  readonly serverSecret: string;
@@ -12,7 +12,8 @@
12
12
  * per-artifact idempotency record (sent → replayed, halted → never retried), then one delegated
13
13
  * plan at a time per end user (the rig lock serialises revocation, not sends);
14
14
  * 2. FENCE: the project policy is present, named and digests to v1 — else refuse;
15
- * 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse;
15
+ * 3. GRANT: the user's delegation reads back active past the envelope's own expiry — else refuse; and
16
+ * its REMAINING validity is inside the ruled maximum (see below) — else refuse;
16
17
  * 4. ACCOUNT: the address the caller prepared for is one of THIS end user's CDP accounts, as CDP reports
17
18
  * them — never an address the caller binds on its own (a Dynamic-connected address is never a CDP
18
19
  * end-user address by construction);
@@ -21,6 +22,13 @@
21
22
  * 6. SEND: `CdpDelegatedSigner.sendPlan` — sealed receipts, halt clears the allowance, fail-closed once
22
23
  * revocation was requested.
23
24
  *
25
+ * 🔴 WHY THE EXPIRY BOUND LIVES HERE AND NOT ON THE MINT PATH. The mint is browser→Coinbase direct —
26
+ * `createDelegation({ expiresAt })` runs inside the end user's own session and Otto's server is not a hop
27
+ * on it. The 90/180-day bound the page and the CLI apply is therefore UX, not a control: a modified
28
+ * client, a hostile clock, or any other caller of Coinbase's API can mint whatever expiry COINBASE
29
+ * accepts, which is far more than 180 days. Otto is in the path at exactly one moment — when it goes to
30
+ * USE the grant — so that is where the ceiling is enforced, on the grant Otto reads back from CDP (step 3b).
31
+ *
24
32
  * Nothing here logs the header, the secret, or a credential. Refusals are machine-readable codes; upstream
25
33
  * error bodies are never relayed.
26
34
  */
@@ -30,7 +38,7 @@ import { CDP_CAPABILITIES, CdpDelegatedSigner, DelegatedPlanHaltedError, createC
30
38
  import { isAdapterRefusal } from './adapter/refusal.js';
31
39
  import { defaultAdapterPolicy, verifySwapEnvelope } from './adapter/verify.js';
32
40
  import { DELEGATION_AUTH_HEADER, SUBMIT_UNDER_DELEGATION_INPUT_SCHEMA, } from './execution-delegated-definition.js';
33
- import { assertWithinModelBFence, MODEL_B_CHAIN_ID, MODEL_B_PER_SWAP_CAP_USD, MODEL_B_POLICY_NAME_V1, readBackModelBFence, } from './execution-delegation-policy.js';
41
+ import { assertWithinModelBFence, MODEL_B_CHAIN_ID, MODEL_B_DELEGATION_EXPIRY_MAX_DAYS, MODEL_B_PER_SWAP_CAP_USD, MODEL_B_POLICY_NAME_V1, readBackModelBFence, } from './execution-delegation-policy.js';
34
42
  import { EXECUTION_REFUSAL_CODES, ExecutionRefusal, isExecutionRefusal, refuse, } from './execution-errors.js';
35
43
  import { artifactCommitmentDigest, canonicalJson, } from './execution-types.js';
36
44
  import { DELEGATED_SUBMISSION_GRACE_MS, preparedHere } from './prepared-artifacts.js';
@@ -52,6 +60,14 @@ export const DELEGATION_ENV_NAMES = Object.freeze([
52
60
  export const PUBLIC_PROJECT_ID_ENV_NAME = 'OTTO_CDP_PROJECT_ID';
53
61
  const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
54
62
  const MIN_SERVER_SECRET_LENGTH = 32;
63
+ /**
64
+ * Clock skew allowed between Coinbase's issuer and this process when bounding a grant's remaining
65
+ * validity. Small on purpose: it is ADDED to the ceiling, so a generous value would widen the very bound
66
+ * it exists to make workable.
67
+ */
68
+ export const DELEGATION_EXPIRY_SKEW_MS = 5 * 60_000;
69
+ /** The ruled ceiling on how much longer a delegation may still be able to sign. See step 3b. */
70
+ export const DELEGATION_MAX_REMAINING_MS = MODEL_B_DELEGATION_EXPIRY_MAX_DAYS * 86_400_000 + DELEGATION_EXPIRY_SKEW_MS;
55
71
  /**
56
72
  * All five absent → the delegated tool does not exist (same shape as the OTTO_EXECUTION_MCP_ENABLED
57
73
  * switch). Any present but not all → boot refuses, naming the MISSING variables (never a value).
@@ -425,6 +441,33 @@ export async function submitUnderDelegation(runtime, rawInput, caller, _signal)
425
441
  expiresAtMs <= validUntilMs) {
426
442
  return refuse('DELEGATION_NOT_ACTIVE', `the delegation expires at ${grant.expiresAt}, not after the envelope's valid_until ${input.envelope.valid_until}; renew the delegation or prepare again`);
427
443
  }
444
+ /**
445
+ * 3b. THE EXPIRY BOUND, ENFORCED WHERE OTTO IS ACTUALLY IN THE PATH.
446
+ *
447
+ * 🔴 The mint is browser→Coinbase direct: `createDelegation({ expiresAt })` runs in the user's own
448
+ * session and Otto's server is not a hop on it. So the 90/180-day bound the page applies is UX — a
449
+ * modified client, a hostile clock, or the agent CLI can mint any expiry Coinbase itself accepts, and
450
+ * Coinbase accepts far more than 180 days (a year-2099 expiry was accepted in the gate probe). The
451
+ * bound is therefore enforceable at exactly one place: HERE, at use, on a grant Otto reads back from
452
+ * CDP before it exercises any authority.
453
+ *
454
+ * The check is on REMAINING validity, not on the grant's total length: what bounds the exposure is how
455
+ * much longer this key can sign, and a grant minted long ago is already spending down its own window.
456
+ * The skew allowance covers clock drift between Coinbase's issuer and this process only — it is small
457
+ * on purpose, because it is added to the ceiling.
458
+ */
459
+ /**
460
+ * 🔴 GATE r2 LOW 1 — the CAPTURED clock, not `Date.now()`.
461
+ *
462
+ * Every other time-dependent step in this call reads `nowMs`, taken once from `runtime.nowMs()` at
463
+ * entry. This check read the wall clock directly, so under an injected clock it measured a different
464
+ * "now" than the submission it belongs to: codex's probe drove a 197-day grant past the bound and
465
+ * landed on `DELEGATION_USER_UNKNOWN` (step 4) instead of being refused here. One call, one clock.
466
+ */
467
+ const remainingMs = expiresAtMs - nowMs;
468
+ if (remainingMs > DELEGATION_MAX_REMAINING_MS) {
469
+ return refuse('DELEGATION_EXPIRY_EXCEEDS_BOUND', `the delegation still has ${Math.floor(remainingMs / 86_400_000)} days to run, past the ${MODEL_B_DELEGATION_EXPIRY_MAX_DAYS}-day maximum; revoke it and mint a new one`);
470
+ }
428
471
  // 4. ACCOUNT: the caller's prepared address must be one of THIS end user's accounts as CDP reports them.
429
472
  const record = await services.rig.readEndUser(input.userId);
430
473
  if (!record)
@@ -1,4 +1,4 @@
1
- export declare const EXECUTION_REFUSAL_CODES: readonly ["ATTRIBUTION_MISSING", "LIFI_FEE_CAP_EXCEEDED", "ACCOUNT_BINDING_MISMATCH", "DIGEST_MISMATCH", "ARTIFACT_INVALID", "STALE_ARTIFACT", "EXECUTION_RATE_LIMITED", "EXECUTION_CONCURRENCY_FULL", "UNSUPPORTED_ACCOUNT_PROFILE", "LIFI_QUOTE_FAILED", "LIFI_QUOTE_INVALID", "UNSUPPORTED_LIFI_ROUTE", "POLYMARKET_METADATA_FAILED", "POLYMARKET_METADATA_INVALID", "UNSUPPORTED_POLYMARKET_MARKET", "POLYMARKET_ORDER_INVALID", "POLYMARKET_BUILDER_FEE_UNRULED", "HYPERLIQUID_META_FAILED", "HYPERLIQUID_META_INVALID", "UNSUPPORTED_HYPERLIQUID_MARKET", "HYPERLIQUID_ORDER_INVALID", "DELEGATION_UNAVAILABLE", "DELEGATION_UNAUTHORIZED", "DELEGATION_INPUT_INVALID", "DELEGATION_BUSY", "DELEGATION_ARTIFACT_IN_FLIGHT", "ARTIFACT_NOT_PREPARED_HERE", "PREPARED_ARTIFACT_CAPACITY", "ARTIFACT_ID_COLLISION", "DELEGATION_REPLAY_MISMATCH", "DELEGATION_FENCE_ABSENT", "DELEGATION_FENCE_FOREIGN", "DELEGATION_FENCE_AMBIGUOUS", "DELEGATION_FENCE_NEWER", "DELEGATION_TOKEN_INVALID", "DELEGATION_REVOKE_NOT_CONFIRMED", "DELEGATION_NOT_ACTIVE", "DELEGATION_USER_UNKNOWN", "DELEGATION_OUTSIDE_FENCE", "DELEGATED_PLAN_REFUSED", "DELEGATED_PLAN_HALTED", "DELEGATION_UPSTREAM_FAILED"];
1
+ export declare const EXECUTION_REFUSAL_CODES: readonly ["ATTRIBUTION_MISSING", "LIFI_FEE_CAP_EXCEEDED", "ACCOUNT_BINDING_MISMATCH", "DIGEST_MISMATCH", "ARTIFACT_INVALID", "STALE_ARTIFACT", "EXECUTION_RATE_LIMITED", "EXECUTION_CONCURRENCY_FULL", "UNSUPPORTED_ACCOUNT_PROFILE", "LIFI_QUOTE_FAILED", "LIFI_QUOTE_INVALID", "UNSUPPORTED_LIFI_ROUTE", "POLYMARKET_METADATA_FAILED", "POLYMARKET_METADATA_INVALID", "UNSUPPORTED_POLYMARKET_MARKET", "POLYMARKET_ORDER_INVALID", "POLYMARKET_BUILDER_FEE_UNRULED", "HYPERLIQUID_META_FAILED", "HYPERLIQUID_META_INVALID", "UNSUPPORTED_HYPERLIQUID_MARKET", "HYPERLIQUID_ORDER_INVALID", "DELEGATION_UNAVAILABLE", "DELEGATION_UNAUTHORIZED", "DELEGATION_INPUT_INVALID", "DELEGATION_BUSY", "DELEGATION_ARTIFACT_IN_FLIGHT", "ARTIFACT_NOT_PREPARED_HERE", "PREPARED_ARTIFACT_CAPACITY", "ARTIFACT_ID_COLLISION", "DELEGATION_REPLAY_MISMATCH", "DELEGATION_FENCE_ABSENT", "DELEGATION_FENCE_FOREIGN", "DELEGATION_FENCE_AMBIGUOUS", "DELEGATION_FENCE_NEWER", "DELEGATION_TOKEN_INVALID", "DELEGATION_REVOKE_NOT_CONFIRMED", "DELEGATION_NOT_ACTIVE", "DELEGATION_EXPIRY_EXCEEDS_BOUND", "DELEGATION_USER_UNKNOWN", "DELEGATION_OUTSIDE_FENCE", "DELEGATED_PLAN_REFUSED", "DELEGATED_PLAN_HALTED", "DELEGATION_UPSTREAM_FAILED"];
2
2
  export type ExecutionRefusalCode = (typeof EXECUTION_REFUSAL_CODES)[number];
3
3
  /** A fail-closed, machine-readable refusal. No upstream response bodies or secrets are retained. */
4
4
  export declare class ExecutionRefusal extends Error {
@@ -99,6 +99,12 @@ export const EXECUTION_REFUSAL_CODES = [
99
99
  'DELEGATION_REVOKE_NOT_CONFIRMED',
100
100
  /** No active delegation for the end user, or it expires before the envelope does, or revocation was requested here. */
101
101
  'DELEGATION_NOT_ACTIVE',
102
+ /**
103
+ * The grant's REMAINING validity is longer than the ruled maximum. The mint happens browser→Coinbase with
104
+ * no Otto hop, so a modified client or a skewed clock can mint any expiry Coinbase accepts; the bound is
105
+ * therefore enforceable only here, at use.
106
+ */
107
+ 'DELEGATION_EXPIRY_EXCEEDS_BOUND',
102
108
  /** CDP reports no end user with this id. */
103
109
  'DELEGATION_USER_UNKNOWN',
104
110
  /** A verified plan the fence would refuse anyway: input token not allow-listed, spender not the reviewed diamond, gross over the per-swap cap. */
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "otto-intel-mcp",
3
- "version": "0.1.0",
4
- "description": "Read-only otto market intelligence MCP server for hosted and local x402 use",
3
+ "version": "0.1.1",
4
+ "description": "Otto AI market intelligence + execution constructors over MCP hosted at mcp.ottoai.services (first call free, then pay per call in USDC via x402) or local via `npx otto-intel-mcp`. Library entries: otto-intel-mcp/execution, /adapter, /adapter-cdp.",
5
5
  "type": "module",
6
+ "homepage": "https://docs.useotto.xyz/acp-swarm/otto-intel-mcp",
7
+ "bugs": {
8
+ "url": "https://docs.useotto.xyz/acp-swarm/otto-intel-mcp"
9
+ },
6
10
  "bin": {
7
11
  "otto-intel-mcp": "./dist/stdio-main.js"
8
12
  },
@@ -61,7 +65,20 @@
61
65
  "dist/execution-index.d.ts",
62
66
  "dist/execution-intent.js",
63
67
  "dist/execution-intent.d.ts",
64
- "dist/adapter",
68
+ "dist/adapter/cdp-signer.js",
69
+ "dist/adapter/cdp-signer.d.ts",
70
+ "dist/adapter/chain.js",
71
+ "dist/adapter/chain.d.ts",
72
+ "dist/adapter/erc20.js",
73
+ "dist/adapter/erc20.d.ts",
74
+ "dist/adapter/lifi-decode.js",
75
+ "dist/adapter/lifi-decode.d.ts",
76
+ "dist/adapter/refusal.js",
77
+ "dist/adapter/refusal.d.ts",
78
+ "dist/adapter/sent-step.js",
79
+ "dist/adapter/sent-step.d.ts",
80
+ "dist/adapter/verify.js",
81
+ "dist/adapter/verify.d.ts",
65
82
  "dist/adapter-index.js",
66
83
  "dist/adapter-index.d.ts",
67
84
  "dist/adapter-cdp-index.js",
@@ -92,21 +109,39 @@
92
109
  "test": "node --import tsx --test \"test/**/*.test.ts\"",
93
110
  "test:liveness": "node --import tsx --test --test-name-pattern=liveness test/execution-tools.test.ts test/execution-bridge.test.ts test/execution-polymarket.test.ts test/execution-hyperliquid.test.ts",
94
111
  "test:mutation": "node --import tsx test/lifi-fee-mutation-proof.ts && node --import tsx test/lifi-bridge-mutation-proof.ts && node --import tsx test/polymarket-order-mutation-proof.ts && node --import tsx test/hyperliquid-order-mutation-proof.ts",
95
- "verify": "npm run typecheck && npm test && npm run build",
96
- "prepublishOnly": "npm run verify"
112
+ "verify": "npm run typecheck && npm run build && npm test",
113
+ "prepublishOnly": "npm run verify && npm run pack:audit",
114
+ "pack:audit": "node scripts/pack-audit.mjs"
97
115
  },
98
116
  "engines": {
99
- "node": "=22.16.0",
117
+ "node": ">=22",
100
118
  "npm": ">=10.0.0"
101
119
  },
120
+ "devEngines": {
121
+ "runtime": {
122
+ "name": "node",
123
+ "version": "22.16.0",
124
+ "onFail": "warn"
125
+ }
126
+ },
102
127
  "keywords": [
103
128
  "mcp",
129
+ "model-context-protocol",
104
130
  "x402",
131
+ "usdc",
132
+ "base",
105
133
  "market-intelligence",
106
- "robinhood-chain",
107
- "sec-edgar"
134
+ "tokenized-stocks",
135
+ "sec-edgar",
136
+ "polymarket",
137
+ "hyperliquid",
138
+ "lifi",
139
+ "swap",
140
+ "bridge",
141
+ "agent",
142
+ "otto"
108
143
  ],
109
- "author": "otto AI",
144
+ "author": "Otto AI",
110
145
  "license": "MIT",
111
146
  "publishConfig": {
112
147
  "access": "public"
@@ -158,5 +193,5 @@
158
193
  "optionalDependencies": {
159
194
  "@coinbase/cdp-sdk": "1.54.0"
160
195
  },
161
- "publishGate": "UNPUBLISHED (registry E404 as of 2026-08-29). The PR #2001 r1 MED is RESOLVED as of 2026-09-01: @x402/axios+evm are pinned 2.23.0 (>= the ^2.19.0 that @coinbase/cdp-sdk's optional peers want), so the graph now dedupes to a single @x402/core@2.23.0 and `npm ls` reports ZERO invalid/UNMET peers WITHOUT relying on the `overrides` pin \u2014 which npm honors in the root project only and does NOT inherit to consumers. The overrides entry is kept, bumped in lockstep, as belt-and-braces determinism for the Railway (root) install. NOTE (@x402 2.23.0 behavior change): client `spendControls` are now ON BY DEFAULT \u2014 recognized pegged assets only, $1 USD per-payment cap. Every tool price here is $0.001-$0.10, and a $0.10 Base-USDC payment was verified to build a payload on this exact client construction, so there is ~10x headroom; but any FUTURE tool price above $1 will be refused client-side unless `spendControls` is configured on the x402Client in src/x402-read-source.ts. 2.24.0 exists but is inside the harness's rolling 7-day supply-chain cooldown (`--before`), so 2.23.0 is the newest installable stable 2.x."
196
+ "publishGate": "0.1.0 published 2026-09-01; 0.1.1 = the privacy + readability pass. `prepublishOnly` = verify + scripts/pack-audit.mjs (packs the tarball and fails on any personal or secret content; never publish with --ignore-scripts). No source maps ship. Dependency note: @x402/axios + @x402/evm pinned 2.23.0 so the optional @coinbase/cdp-sdk peers resolve to one @x402/core without the root-only `overrides` (kept in lockstep for the Railway install). @x402/core >= 2.23.0 enables client spendControls by default ($1 per payment) raise it before any tool price exceeds $1."
162
197
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"cdp-signer.js","sourceRoot":"","sources":["../../src/adapter/cdp-signer.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/adapter/chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,4HAA4H;AAC5H,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC7B;IAAoB;IAAzC,YAAqB,IAAS,EAAW,KAAa;QACpD,KAAK,CAAC,eAAe,IAAI,qDAAqD,KAAK,uCAAuC,CAAC,CAAC;QADzG,SAAI,GAAJ,IAAI,CAAK;QAAW,UAAK,GAAL,KAAK,CAAQ;QAEpD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,4HAA4H;AAC5H,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAQ,KAAmC,EAAE,IAAI,KAAK,iCAAiC,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAiB,EAAE,IAAS,EAAE,UAA6B,EAAE;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;IACzC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,OAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,0GAA0G;YAC1G,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS;oBAAE,OAAO,OAAO,CAAC;gBACtD,gGAAgG;gBAChG,2FAA2F;YAC7F,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,IAAI,QAAQ;YAAE,MAAM,IAAI,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/adapter/erc20.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAmC,MAAM,MAAM,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,CAAC,2EAA2E,CAAC,CAAC,CAAC;AAE3H,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAiB,EAAE,KAAc,EAAE,KAAc,EAAE,OAAgB;IACrG,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACtI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"lifi-decode.js","sourceRoot":"","sources":["../../src/adapter/lifi-decode.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../../src/adapter/refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,4EAA4E;IAC5E,gBAAgB;IAChB,uBAAuB;IACvB,iBAAiB;IACjB,gBAAgB;IAChB,0BAA0B;IAC1B,6BAA6B;IAC7B,oBAAoB;IACpB,gBAAgB;IAChB,uEAAuE;IACvE,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,uBAAuB;IACvB,mBAAmB;IACnB,qEAAqE;IACrE,iBAAiB;IACjB,oBAAoB;IACpB,+EAA+E;IAC/E,qBAAqB;IACrB,sBAAsB;IACtB,kBAAkB;CACV,CAAC;AAIX,MAAM,OAAO,cAAe,SAAQ,KAAK;IAK5B;IAJX,sFAAsF;IAC7E,SAAS,CAAqB;IAEvC,YACW,IAAwB,EACjC,OAAe;QAEf,KAAK,CAAC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAHrB,SAAI,GAAJ,IAAI,CAAoB;QAIjC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,IAAwB,EAAE,OAAe;IAC9D,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,KAAK,YAAY,cAAc,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sent-step.js","sourceRoot":"","sources":["../../src/adapter/sent-step.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/adapter/verify.ts"],"names":[],"mappings":"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"}