Skip to main content

twzrd-mcp-server / twzrd-mcp — pre-spend seller reputation for Solana x402

Check a seller wallet and requested resource before you pay over Solana x402. Free tools return allow / warn / block; optional paid tools buy deeper reputation evidence or a signed V6 receipt with explicit spend caps. TWZRD scores observed wallet and payment behavior. It does not prove a person, company, or autonomous agent identity.

Prefer the zero-install hosted Agent Intelligence MCP. Use this package only when you want local auto-pay for paid intel.

// Recommended — 22 tools, no wallet, nothing to install
{ "mcpServers": { "twzrd": { "url": "https://intel.twzrd.xyz/mcp" } } }
# Local auto-pay client — 6 tools; wallet only if you enable paid calls
npx -y twzrd-mcp-server        # Node
pip install twzrd-mcp          # Python

Which surface do I want?

Surface Tools Wallet Use when
https://intel.twzrd.xyz/mcp (hosted) 22 No Default. Seller preflight, resource evaluation, reputation, receipts, watches, and observed-market research.
twzrd-mcp-server / twzrd-mcp (this package) 5 Only for paid You want quick_trust / full_trust auto-paid locally with caps.

Start with hosted twzrd_demo_gate for a zero-setup, zero-spend proof of the block path. The hosted MCP is also listed on Smithery.

The 6 local client tools

Tool Cost What
preflight free allow / warn / block + trust score for a seller you're about to pay
merchant_card free seller graph card — wash_flagged: true → don't pay (locked sequence step 2)
wallet_lookup free facilitators + counterparty breadth for a wallet
verify_receipt free offline-verify a wallet's cNFT receipt (Ed25519 vs genesis authority 2ELSDxLkb7dYrN6EUG69tNtULAq4Fo7WPvXyrZPmuFif) — trust no server
quick_trust $0.001 quick tier + score for any wallet
full_trust $0.05 full trust intel + signed V6 receipt

quick_trust / full_trust buy intel on any wallet (you look risky ones up on purpose) — they don't refuse a target. Use preflight to vet a wallet you're about to pay elsewhere.

Happy path (seller-first)

  1. Free preflight on the seller's receive wallet.
  2. block → don't pay. Done, $0 spent.
  3. Free merchant_card on the same wallet — wash_flagged: true → don't pay.
  4. warn → consider a $0.05 full_trust signed receipt before deciding.
  5. allow + clean card + small spend → pay. Keep the receipt; scores decay, so re-check stale decisions.

Install & config

Paid tools are opt-in on both runtimes: they sign only when you set TWZRD_MCP_PAYMENTS_ENABLED=1 and provide a wallet key. For free tools, omit both — the server runs read-only and never signs. Spend is bounded by per-call and session caps.

Before any Solana signature the Node server runs twzrd-x402-gate@0.9.3 wash default (Python twzrd-mcp 0.2.1 does the same merchant_card check on the 402 payTo): abort iff wash_flagged===true → fail-open if intel is down. That is the paying-client brake, not a Path A shop.

Python — pip install twzrd-mcp

{ "mcpServers": { "twzrd": {
  "command": "twzrd-mcp",
  "env": {
    "TWZRD_RPC_URL": "<your dedicated Solana RPC url>",
    "TWZRD_WALLET_KEYPAIR": "/path/to/solana-keypair.json",
    "TWZRD_MCP_PAYMENTS_ENABLED": "1",
    "TWZRD_MAX_USDC_PER_CALL": "0.05",
    "TWZRD_MAX_USDC_TOTAL": "1.00"
  }
}}}

Node — npx -y twzrd-mcp-server

{ "mcpServers": { "twzrd": {
  "command": "npx", "args": ["-y", "twzrd-mcp-server"],
  "env": {
    "TWZRD_RPC_URL": "<your dedicated Solana RPC url>",
    "TWZRD_WALLET_SECRET_KEY": "<base58 Solana secret>",
    "TWZRD_MCP_PAYMENTS_ENABLED": "1",
    "TWZRD_MAX_USDC_PER_CALL": "0.05",
    "TWZRD_MAX_USDC_TOTAL": "1.00"
  }
}}}
Env var Default Meaning
TWZRD_MCP_PAYMENTS_ENABLED unset (off) set 1 to arm paid tools — required on both runtimes
TWZRD_WALLET_SECRET_KEY (Node) / TWZRD_WALLET_KEYPAIR (Python) — signer for paid tools
TWZRD_MAX_USDC_PER_CALL 0.05 per-call spend cap
TWZRD_MAX_USDC_TOTAL 1.00 cumulative session spend cap
TWZRD_RPC_URL none — required for paid tools Solana RPC. Paid tools refuse to arm without it: the public RPC is rate-limited and loses x402 races (stale blockhash / sponsored feePayer between the 402 challenge and the signed retry), and a rejected settle can still move USDC. Free tools need no RPC. Set TWZRD_ALLOW_PUBLIC_RPC=1 to accept that risk anyway.

Safety

  • Opt-in payments — paid tools sign only with TWZRD_MCP_PAYMENTS_ENABLED=1; a wallet key alone never arms spending.
  • Spend caps — per-call and session caps enforced in the payment selector before any signature. Caps use the mint's true decimals, never merchant-declared extra.decimals. A mismatched declaration is refused. A malformed cap env (e.g. "$0.05") falls back to the default; it never becomes NaN and disables the cap.
  • Known-asset only — pay only known USD-pegged stables (USDC/USDT); unknown SPL mints are refused.
  • Identifiable recipient — a challenge with no payTo is refused.
  • Solana-only — a non-exact / non-solana: challenge is refused, never mis-signed.
  • Single-shot retry — at most one signed retry per tool call; a second 402 is surfaced, not silently re-paid.
  • Free tools never enter the payment path.

Verify receipts offline (trust no one)

full_trust returns a portable Ed25519-signed V6 receipt. Verify it without trusting any TWZRD server — new receipts use issuer key twzrd-receipt-ed25519-v2; legacy v1 keys remain verify-only during the bounded compatibility rollout. (Ak5SQwHpuQAqU7ty7ZWX7qgF39A9yi72c22KNn8sHzvS), pinned at https://intel.twzrd.xyz/.well-known/twzrd-receipt-pubkey:

npx twzrd-receipt-verifier <receipt.json> --pubkey Ak5SQwHpuQAqU7ty7ZWX7qgF39A9yi72c22KNn8sHzvS

Development

npm run build && npm run demo lists tools and runs a free preflight from source (no spend by default). For the operator-authorized $0.001 settle proof, set TWZRD_DEMO_PAID=quick, provide a wallet key, and pin both caps to 0.001 (see examples/agent-drop-in.mjs).


Links: Agent Intelligence · hosted MCP · llms.txt · llms-full.txt · OpenAPI

License: MIT

Release files for twzrd-mcp 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for twzrd-mcp 0.2.1
File Size Uploaded
twzrd_mcp-0.2.1.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for twzrd-mcp 0.2.1
File Interpreter ABI Platform
twzrd_mcp-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.6 kB

Release files / twzrd_mcp-0.2.1.tar.gz

Download URL twzrd_mcp-0.2.1.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a7620bc3639ed2cad896ebeeb15c71f91a162b04c9a783570027cf531cf481dd
BLAKE2b-256 checksum
How to use checksums
5b51215bfb0386cb0c20b22aa16a1fad89652ccebe04cd4449f8093a8e4c7837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / twzrd_mcp-0.2.1-py3-none-any.whl

Download URL twzrd_mcp-0.2.1-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
481f68f67e4837aa48c05776c46baaa8ce66a9ff273a51f125acb063892e3b23
BLAKE2b-256 checksum
How to use checksums
79c4ed5990b4c281dd5b403feaa23a64cab649ac33488c433656ed1bf0dcee88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page