{
  "markdown": "# TWZRD\n\n**Don't let your agent sign blind.**  \nSpend control and counterparty trust for agents paying over x402 on Solana (and Base).\nVet the seller **before** USDC leaves the wallet, cap and ledger every spend, and bind each settled payment to the exact offer it paid for (**bind-v1** — verifiable from public chain data). Free preflight → optional paid V6 receipt. Not a wallet. Not a payment network. Not Catena's Agent Commerce Kit — the walkthrough lives in [docs/COMMERCE-KIT.md](./docs/COMMERCE-KIT.md).\n\n**Canonical skill (always refresh)** • https://intel.twzrd.xyz/skill.md (twzrd-trust **1.13.16**) · [ClawHub `twzrd-trust`](https://clawhub.ai)  \n**Spend-control SDK (npm)** • [`twzrd-x402-gate@0.9.3`](https://www.npmjs.com/package/twzrd-x402-gate) + seat [`x402-solana@3.0.0`](https://www.npmjs.com/package/x402-solana)  \n**Live MCP** • https://intel.twzrd.xyz/mcp (streamable HTTP — 24 tools)  \n**Agent contract** • https://intel.twzrd.xyz/llms.txt · https://intel.twzrd.xyz/.well-known/agent.json\n\n---\n\n## 60-second deterministic free demo\n\nRun this one-line command with **no wallet, no API key, and no configuration**:\n\n```bash\ncurl -fsS https://intel.twzrd.xyz/v1/intel/demo-gate | jq '{verdict: (.steps[] | select(.name == \"block_path\") | .verdict), approved: (.steps[] | select(.name == \"block_path\") | .approved), signerInvocations: (.steps[] | select(.name == \"block_path\") | .signer_invocations), mode, ok}'\n```\n\nWithout `jq`, run: `curl -fsS https://intel.twzrd.xyz/v1/intel/demo-gate`\n\nExpected output:\n```json\n{\n  \"verdict\": \"block\",\n  \"approved\": false,\n  \"signerInvocations\": 0,\n  \"mode\": \"no_spend\",\n  \"ok\": true\n}\n```\n\n*Blocks happen before your signer is invoked (`signerInvocations: 0`) — zero USDC at risk.*\n\n---\n\n## Quickstart\n\n### 1. Install\n\n```bash\nnpm install twzrd-x402-gate@0.9.3 x402-solana@3.0.0\n```\n\n### 2. Wrap paid fetches with spend controls\n\n```ts\nimport { twzrd } from \"twzrd-x402-gate\";\n\nconst result = await twzrd.safeFetch(\"https://merchant.example/paid-endpoint\", {\n  maxSpend: \"0.10\",            // per-call cap AND cumulative budget in USD\n  allowNetworks: [\"solana\"],   // allowed settlement networks\n  requireOfferBinding: true,   // demand an on-chain verifiable bind-v1 receipt\n  pay: async ({ url, paymentRequired, selected }) => {\n    // Your existing x402 client signs here — e.g. @x402/fetch + your signer\n    return await myWallet.payX402(url, paymentRequired, selected);\n  },\n});\n\n// On block: result.verdict === \"block\", result.signerInvocations === 0\n```\n\n### 3. Or hook an existing client\n\n```ts\nimport { createX402Client } from \"x402-solana\";\nimport { createTwzrdBeforePaymentHook } from \"twzrd-x402-gate\";\n\nconst client = createX402Client({\n  wallet,\n  network: \"solana\",\n  beforePayment: createTwzrdBeforePaymentHook({ refuseWashFlagged: true }),\n});\n```\n\n---\n\n## Commerce loop\n\nOne path. Install `twzrd-x402-gate@0.9.3`. Free preflight does not enforce; AutoGate on the pay path does.\n\n1. **Install the gate** — `npm i twzrd-x402-gate@0.9.3` then `installTwzrdAutoGate`\n2. **Directory** — `GET /v1/intel/resources` (or `listDirectoryCallables`) — bazaars list; TWZRD sits beside\n3. **Preflight** — free ReadinessCard + merchant_card wash refuse\n4. **Pay only when policy allows** — blocks have `signerInvocations === 0`\n5. **Verify** — bind-v1 / V6 (optional ACK-Pay VC). No second passport format\n6. **Evidence bundle** — `exportEvidenceBundle` / `npx twzrd-evidence-bundle`\n\nRefuse-first demo (0 USDC): `npx tsx twzrd-x402-gate/examples/commerce-kit.ts`  \nWalkthrough: [docs/COMMERCE-KIT.md](./docs/COMMERCE-KIT.md)\n\n## Default Protection Sequence\n\n1. **Discover** — `GET /v1/intel/resources` (resource catalog)\n2. **Merchant card** — `GET /v1/intel/merchant_card/{pay_to}` (refuse if `wash_flagged: true`)\n3. **Preflight** — `POST /v1/intel/preflight` → ReadinessCard (allow / warn / block)\n4. **Optional V6 Receipt** — `GET /v1/intel/trust/{pay_to}` ($0.05 USDC paid receipt)\n5. **Pay** — sign only when preflight & spend policy allow\n\n```bash\n# Free preflight (no signup, no wallet)\ncurl -s -X POST https://intel.twzrd.xyz/v1/intel/preflight \\\n  -H 'content-type: application/json' \\\n  -d '{\"seller_wallet\":\"46vMcwuC4sK11sB3gkLhyA7J7GEwfkhn5rFyDtihBwqe\",\"price_usdc\":0.01,\"agent_intent\":\"preflight\"}'\n```\n\n---\n\n## Packages & References\n\n| Package | Pin | Description |\n|---|---|---|\n| `twzrd-x402-gate` | **@0.9.3** | Spend-control SDK (`twzrd.safeFetch`) + pre-sign gate hooks |\n| `x402-solana` | **@3.0.0** | Compatible Solana client seat for the pre-payment gate |\n| `twzrd-receipt-verifier` | **@^1.3.0** | Standalone offline verifier for Ed25519 V6 receipts |\n| `twzrd-mcp-server` | **@0.5.2** | Local spend-capped auto-pay client (6 tools) |\n| `twzrd-log-verifier` | local `0.2.1` | Offline Receipt Transparency log verifier — inclusion/consistency proofs, key rotation, split-view pinning ([spec](./docs/transparency-log.md)) |\n\n- **Commerce loop (don't sign blind):** [docs/COMMERCE-KIT.md](./docs/COMMERCE-KIT.md)\n- **Step-by-step Guide:** [QUICKSTART.md](./QUICKSTART.md)\n- **Concepts & Architecture:** [docs/taxonomy.md](./docs/taxonomy.md)\n- **V6 Receipt Specification:** [docs/receipt-v6-spec.md](./docs/receipt-v6-spec.md)\n- **Receipt Transparency Log:** [docs/transparency-log.md](./docs/transparency-log.md) · [`twzrd-log-verifier`](./twzrd-log-verifier)\n- **Receipt Verification & Ground Truth:** [REVIEW.md](./REVIEW.md)\n- **Security Policy:** [SECURITY.md](./SECURITY.md) · [docs/security-assurance.md](./docs/security-assurance.md)\n",
  "bytes": 5529,
  "sha": "3cf10c9eb71dfb448d0cd3e542810c1ef95c346fc7c0f3cc77c79c5ebb62fd4e",
  "repo_slug": "twzrd-sol/twzrd-trust",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_twzrd_sol_twzrd_mcp_b5e35827/readme"
}