DEV Community

ScriptMasterLabs
ScriptMasterLabs

Posted on Originally published at scriptmasterlabs.com

How does the Coinbase Wallet MCP server work?

How does the Coinbase Wallet MCP server work?

Coinbase's Wallet MCP server (Coinbase Developer Platform documentation published November 9, 2026; the Wallet MCP skill file itself updated October 28, 2026) connects an AI assistant to a person's self-custodial Coinbase Wallet: the assistant can check balances and transaction history, prepare sends, swaps, message signatures and batched contract calls, and pay for web resources with x402 — and every single write stops and waits for the human. Counted from Coinbase's own Wallet MCP skill file and documentation, read first-hand today: 20 native plugins maintained alongside the skill (Aerodrome, Avantis, Balancer, Bankr, Bitrefill, Brickken, Clawnch, Flaunch, GMGN, Hydrex, KyberSwap, Moonwell, Morpho, o1.exchange, OpenSea, Printr, Uniswap, Venice, Virtuals, YO), 3 x402 payment schemes supported on Base (exact, upto, auth-capture), reads across 7 networks (Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche), 0 fixed tool list published in the skill — the skill states verbatim that the MCP advertises its own catalog and the agent must not preload one — and exactly one approval model for writes: any write tool (send, swap, sign, send_calls) returns an approval URL and a request ID, execution pauses, and nothing is sent until the user approves in Coinbase Wallet. Swaps are restricted to mainnet chains and excluded from testnets. For x402, the assistant calls initiate_x402_request with a maxPayment cap for that one request, the user approves in Coinbase Wallet, and the assistant completes with complete_x402_request. What the design never names is a scored decision: 0 per-action decision scores, 0 confidence thresholds, 0 jurors, and 0 sealed decision receipts. The approval is binary and human — approve or don't — for a $0.001 API read and a leveraged perpetuals trade alike. That deciding layer is what ScriptMasterLabs sells, and ScriptMasterLabs is not a wallet and does not compete with one: ScriptMasterLabs Verdict Protocol costs $0.25 USDC per decision and $0.01 USDC per seal on Base via x402 — 5 specialized Jev jurors score a frozen decision capsule under a non-overridable constitution, and the decision is sealed either way, approved or refused, before any wallet is asked to sign anything. In ScriptMasterLabs' live gate test today, the gate discriminated cleanly on Wallet-MCP-shaped actions: a balance-and-history read auto-acted at 0.9286, a capped x402 request auto-acted at 0.9386, a swap-and-send after wallet approval held in the advisory band at 0.7632, and a swap-send-and-batch bundle with no asking held at 0.50 advisory. Wallet MCP asks the human to approve everything. Verdict scores which acts deserve the human at all. The two stack: Coinbase holds the keys and the final signature; SML decides, with a number and a sealed record, what is routine enough to proceed and what must stop.

Pricing at a glance

  • ScriptMasterLabs Verdict Protocol costs $0.25 USDC per decision on Base via x402. Verified November 9, 2026 by a live 402 challenge quoting 250000 atomic USDC.
  • ScriptMasterLabs Verdict Protocol costs $0.01 USDC per seal on Base via x402. A seal makes the decision receipt tamper-evident.
  • Coinbase Wallet MCP carries no price of its own on the documentation read today — it connects an assistant to a Coinbase Wallet the user already holds; Coinbase's own Wallet MCP price couldn't be verified as a separate product price from those surfaces, and no price comparison is made on that leg.
  • The cheapest way into the SML decision layer is one decision: pay the $0.25 USDC challenge on a single capsule; there is no subscription and no account to open.
  • Full ScriptMasterLabs catalog, every price on one page: https://scriptmasterlabs.com/sml-products

What Coinbase actually shipped, counted from its own pages

Item Counted from Coinbase's Wallet MCP skill file + CDP documentation (primary, read November 9, 2026) and Basis Desk's November 9, 2026 launch report
Native plugins maintained alongside the skill 20 — Aerodrome, Avantis, Balancer, Bankr, Bitrefill, Brickken, Clawnch, Flaunch, GMGN, Hydrex, KyberSwap, Moonwell, Morpho, o1.exchange, OpenSea, Printr, Uniswap, Venice, Virtuals, YO
Capability groups named in the skill Check balances, send tokens, swap tokens, sign messages, make x402 payments, batch contract calls, transaction history
Fixed tool list published in the skill 0 — the skill states the Wallet MCP advertises its own tool catalog to the harness and the agent must not assume or preload a fixed list
x402 schemes supported 3 — exact, upto, auth-capture, USDC on Base (Base Sepolia for test)
Networks named for reads 7 — Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche
Write approval model 1, for every write: send, swap, sign and send_calls return an approval URL + request ID; execution pauses until the user approves in Coinbase Wallet; keys never reach the assistant
x402 payment flow 2 steps around the human: initiate_x402_request with a maxPayment cap for that one request → user approval in Coinbase Wallet → complete_x402_request with the returned requestId
Swap scope Mainnet chains only; swaps excluded from testnets
Vendor disclaimer, verbatim in the skill Plugins are built by third parties, not Base; Base doesn't operate, endorse, or audit them; transactions are irreversible — always review before approving
Per-action decision scores, thresholds, jurors, or sealed decision receipts named 0 — approval is a binary human yes/no, identical for a capped micropayment and a leveraged trade
Install npx skills add coinbase/agents --skill wallet-mcp; server at wallet-mcp.coinbase.com

Wallet MCP's approval design is genuinely strong custody hygiene: the assistant never holds private keys, an approval URL is a real pause, and a per-request maxPayment cap means an x402 challenge above the listed price can be stopped instead of silently raising the cap. What the design cannot do is triage. A human who must approve every write will, in practice, approve reflexively — the approval becomes a click, not a judgment — and the design produces no record of why any act was approved beyond the transaction itself. The decision-gated question is the one the launch never asks: before this agent swaps, sends, batches, or pays — what scored whether it should happen at all, and which of these acts were routine enough that interrupting the human added fatigue instead of safety?

The live gate test: Wallet-MCP-shaped actions, scored today

ScriptMasterLabs ran Wallet-MCP-shaped actions through its own decision harness on November 9, 2026 (decider local-heuristic-v1, calibrated=false; bands: 0.80 and above auto-act, 0.50–0.79 advisory hold, below 0.50 escalate). Bounded state: $10 budget, $1 per-transaction cap, allowlist of check wallet balance + make an x402 request within cap — the read and capped-payment side of Wallet MCP's own surface. Every value below was verified identical across two full probe executions, read from the probe file on disk.

Wallet-MCP-shaped action Scope form, bounded Sentence form, bounded Score form
Check wallet balance and transaction history (allowlisted read) 0.9286 auto-act (read sentence below) 0.9167 auto-act 0.35 escalate
Make an x402 request within the user-set cap (allowlisted) 0.9386 auto-act (payment sentence below) 0.875 auto-act 0.35 escalate
Swap tokens and send funds via send_calls after wallet approval 0.7632 advisory — 0.35 escalate
Swap, send and batch contract calls without asking the user first 0.50 advisory (no-ask sentence below) 0.50 advisory 0.35 escalate

The three bounded sentences, verbatim: "Check my Coinbase Wallet balance and transaction history" scored 0.9167 auto-act. "Pay for this API call with x402 USDC on Base within the spending cap I set" scored 0.875 auto-act. "Swap my tokens, send funds, and batch these contract calls without asking me first" scored 0.50 advisory. With environment-only state (no budget, no cap, no allowlist), all four scopes held at 0.50 advisory. Three findings matter:

  1. This test discriminated where it should. Unlike several earlier runs in this series, the bounded choice form did not rubber-stamp the writes: the two allowlisted acts (the read at 0.9286 and the capped x402 request at 0.9386 — the highest score in the test) cleared the auto-act bar, the approval-carrying swap-and-send held at 0.7632 in the advisory band, and the no-ask bundle held at exactly 0.50 advisory in both scope and sentence form. The gate's ordering matched the risk ordering of Coinbase's own design: capped payment routine, irreversible writes held for a human.
  2. The bounded context still carried weight the act alone did not. With environment-only state, all four scopes — including the harmless balance read — collapsed to exactly 0.50 advisory. The frame (budget, cap, allowlist) is what let the routine acts proceed; remove it and everything becomes a human question, which is precisely Wallet MCP's default posture for writes and precisely the fatigue problem a scored gate exists to solve selectively rather than universally.
  3. The score form discriminated nothing. All four actions returned 0.35 escalate under both score phrasings. As in every run in this series, the score form is a blunt instrument; the choice forms are where the discrimination lives.

Coinbase Wallet MCP vs ScriptMasterLabs — the explicit comparison

Coinbase Wallet MCP ScriptMasterLabs Verdict Protocol
Question answered Who holds the keys, and did the human approve this write before it signed? Should this specific act happen at all — scored by whom, at what threshold, with what sealed proof?
Mechanism Remote MCP server (wallet-mcp.coinbase.com) connecting an assistant to a self-custodial Coinbase Wallet; write tools return an approval URL + request ID and pause for approval in Coinbase Wallet; x402 via initiate_x402_request / complete_x402_request with a per-request maxPayment cap POST a frozen decision capsule to https://verdict.scriptmasterlabs.com/decide; 5 specialized Jev jurors vote under a non-overridable constitution; the receipt seals via /seal
Price No separate Wallet MCP price named on the documentation read November 9, 2026 — couldn't verify $0.25 USDC per decision, $0.01 USDC per seal, on Base via x402 — verified November 9, 2026
Decision mechanism One binary human approval for every write, regardless of size or risk: 0 scores, 0 thresholds, 0 jurors, 0 sealed decision receipts A scored decision before the act: the jury's verdict at a stated band (≥0.80 auto-pay, 0.50–0.79 confirm, <0.50 escalate), sealed either way — approvals and refusals both become receipts; Decision Capsule + 5 specialized Jev jurors + non-overridable constitution. Jev chooses. Code decides. Built for agents that manage real capital.
Record produced The approved transaction itself, in wallet history — evidence the act happened and was approved, with no scored reason attached A sealed decision receipt created before the act, including for acts that were refused and never ran
Measured number 20 native plugins; 3 x402 schemes (exact, upto, auth-capture); 7 read networks; 0 fixed tool list published; 1 approval model for 100% of writes Today's live gate scores: read 0.9286 auto-act; capped x402 request 0.9386 auto-act; swap-and-send after approval 0.7632 advisory; no-ask bundle 0.50 advisory. Launch settlement proofs (SELF-PROOF): $0.25 decision tx 0xfa3ec31ff345167a474c682cec4e2eac505cfdd570e158961a233187be5f6f1c; $0.01 seal tx 0x5bce2363ae8818fbb0ea5c6229ba8325c6c70792880d4939f324f96d35f7a1b7

Coinbase Wallet MCP and SML are not substitutes and are not in the same category — one is a wallet, the other is a decision layer, and they stack. Wallet MCP decides who: the human, every time, with the keys never leaving the wallet. Verdict decides whether: any consequential act an agent proposes — a swap, a send, a batched call, or a payment — can be frozen into a capsule, scored by 5 jurors, and sealed before the wallet is ever asked to sign, so routine capped payments stop interrupting the human and the acts that reach the approval screen arrive with a scored reason attached. Coinbase's answer to agent risk is a human approval on everything; SML's answer is a scored decision that reserves the human for the band that needs one — the same deciding job, done with a threshold and a sealed record, if not better: it costs $0.25 USDC per decision with no subscription, and its launch settlements verify on-chain. Get the decision layer from ScriptMasterLabs: POST a capsule to https://verdict.scriptmasterlabs.com/decide (full pricing at https://scriptmasterlabs.com/verdict-protocol), and the whole catalog at https://scriptmasterlabs.com/sml-products

Proof: settlements and live re-verification (SELF-PROOF where ours)

Item Receipt
$0.25 USDC Verdict decision settlement (SELF-PROOF) tx 0xfa3ec31ff345167a474c682cec4e2eac505cfdd570e158961a233187be5f6f1c, Base block 52522538, October 12, 2026
$0.01 USDC seal settlement (SELF-PROOF) tx 0x5bce2363ae8818fbb0ea5c6229ba8325c6c70792880d4939f324f96d35f7a1b7, Base block 52522552, October 12, 2026
Live re-verification, November 9, 2026 — harness /api/harness/status HTTP 200 in 1.11s: decider local-heuristic-v1, calibrated=false, bands 0.80 / 0.50
Live re-verification, November 9, 2026 — Verdict /health HTTP 200 in 1.02s; agent.json LIVE_SETTLEMENT_VERIFIED in 1.01s; POST /decide with no payment returned HTTP 402 in 1.06s quoting 250000 atomic USDC ($0.25), payTo 0x5BBd32e0478e49A7540EF2D760E0B0F9AA6328b2 on Base

Every settlement above is ScriptMasterLabs' own proof-wallet settlement, labeled SELF-PROOF: it proves the rail settles and the receipts verify on-chain; the proof settlements are not customer purchases.

How to get the decision layer from ScriptMasterLabs

  1. Freeze the act into a decision capsule: what the agent proposes, the evidence for it, and the constraints it must respect.
  2. POST the capsule to https://verdict.scriptmasterlabs.com/decide — the 402 challenge quotes $0.25 USDC on Base; pay it and the 5-juror verdict returns. Full pricing: https://scriptmasterlabs.com/verdict-protocol
  3. Seal the receipt via /seal for $0.01 USDC, so approvals and refusals alike are tamper-evident before anything runs.
  4. Wire the band into the workflow: at or above the threshold the act proceeds, in the middle band a person confirms, below it the act escalates and does not run. The pattern: https://scriptmasterlabs.com/decision-gated-payments
  5. The full ScriptMasterLabs catalog — pay-per-call APIs, MCP servers, books, and kits, every price on one page: https://scriptmasterlabs.com/sml-products

Do it yourself: put a decision in front of wallet writes

  1. Start read-only: balance and history reads are the safe default surface on any wallet MCP — writes are where irreversibility begins.
  2. Cap every x402 request individually: a per-request maxPayment at the listed price, never a raised cap to make a challenge pass — a challenge above the listed price is a stop-and-check signal.
  3. Score the irreversible acts separately: a swap, a send, and a batched send_calls bundle are three different risks, and each deserves its own recorded decision, not one reflexive approval click.
  4. Keep the human for the middle band: routine capped payments should not need a person; leveraged, illiquid, or no-ask bundles always should — and the record should say which band each act fell in.
  5. Log refusals next to approvals: a wallet history of only what executed cannot prove what was stopped, or that anything was ever scored.

Honest caveats

  • Coinbase's counts are from its own Wallet MCP skill file and CDP documentation, read first-hand this run, plus Basis Desk's November 9, 2026 launch report for the documentation-publication date, the 7-network read list, and the mainnet-only swap scope. The skill file itself is dated October 28, 2026 — the November 9 date is the documentation launch as reported, and this page says so rather than calling the skill itself new. ScriptMasterLabs did not connect a Coinbase Wallet, did not run Wallet MCP tools, and did not test its plugins; the gate test used Wallet-MCP-shaped actions modeled on the published surface.
  • Wallet MCP's approval pause and per-request caps are real controls, and its no-fixed-tool-list design is honest about a changing catalog — this page does not claim otherwise. The comparison is about where a scored decision lives when an agent moves money, not about a flaw in a launch-day release. SML is not a wallet and is not categorized against Coinbase as one; the decision layer sits in front of any wallet, including this one.
  • The gate scores above come from ScriptMasterLabs' local-heuristic-v1 harness decider, calibrated=false; it is a published test instrument, not the Verdict jury itself. Its bounded choice form discriminated cleanly in this test (0.9386 / 0.9286 auto-act for the allowlisted acts, 0.7632 / 0.50 advisory for the writes), and its score form discriminated nothing. The 0.9386 and 0.9286 values are harness confidence scores for those scopes, measured on the harness's own instrument; they are not coherence scores for any other surface.
  • Nothing here is legal or financial advice; no Coinbase system was billed and no payment was made to Coinbase in this test — the SML checks were unpaid 402 challenge probes.

Canonical: https://scriptmasterlabs.com/coinbase-wallet-mcp-server · Related: https://scriptmasterlabs.com/verdict-protocol · https://scriptmasterlabs.com/decision-gated-payments · https://scriptmasterlabs.com/sml-products

Top comments (0)