PACTAby Fractal Neurons
Pacta / llms.txt
For agents

llms.txt (HTML mirror)

The same text as /llms.txt (plain text), rendered as HTML for fetchers that only read web pages. The complete single-file reference is /llms-full.txt.

# Pacta (by Fractal Neurons)

> Free pre-execution contract and governance safety API for AI agents (launch: $0, no API key, no wallet), plus block-pinned DeFi control-plane snapshots and timelock alerts. 14 Sprints · 37 Indexed Records.

Pacta checks who can change the rules of DeFi protocols (proxy admins, timelock delays, Safe quorums, roles) and compares that with what the protocols document. Every record is a read-only on-chain observation pinned to an Ethereum Mainnet block number and canonical block hash.

## Free API for agents (launch: $0, no API key, no wallet)
- Remote MCP (Streamable HTTP, zero install): https://pacta-x402.pacta.workers.dev/mcp · Claude Code: `claude mcp add --transport http pacta https://pacta-x402.pacta.workers.dev/mcp` · Cursor: `{"mcpServers": {"pacta": {"url": "https://pacta-x402.pacta.workers.dev/mcp"}}}`. Tools: pacta_check_preflight, pacta_scan_control_plane, pacta_scan_timelock_op, pacta_scan_proposal_diff, pacta_get_live_timelocks (all read-only).
- Free MCP tier: every tools/call takes three required, non-personal fields: caller_agent (a lowercase slug naming the calling agent, IDE or framework, e.g. claude-code, cursor, coinbase-agentkit; never a name, e-mail, IP, URL, address or secret), requester_role (autonomous_agent | defi_developer | risk_curator_analyst | security_researcher | protocol_team | institutional_allocator | individual_user) and caller_purpose (pre_trade_safety | collateral_due_diligence | yield_allocation | security_audit | governance_monitoring | integration_testing | general_research). Missing or invalid values get JSON-RPC -32602 listing what is allowed. Over REST they are optional query parameters. Location is never asked: only the Cloudflare edge country is counted; no IP is stored.
- One call: `curl -s "https://pacta-x402.pacta.workers.dev/v1/check/preflight?chain=ethereum&address=0x..."` returns a verdict (IMMUTABLE_NO_ADMIN, TIMELOCK_PROTECTED, ZERO_DELAY_TIMELOCK_RISK, MULTISIG_NO_TIMELOCK, INSTANT_EOA_ADMIN_RISK, UNDEPLOYED_OR_EOA, UNCLASSIFIED_CONTRACT_CONTROLLER), a 0-100 risk score, proxy / admin / timelock breakdown and pause / blacklist / upgrade capabilities, pinned to a block hash.
- [https://pacta-x402.pacta.workers.dev/v1/protocols/lookup?q=ethena](https://pacta-x402.pacta.workers.dev/v1/protocols/lookup?q=ethena): free protocol / token name lookup (MCP tool pacta_lookup_protocol). Name lookup first: if you only have a protocol or token name (e.g. Aave, Ethena, USDe, Moonwell, kUSD), call pacta_lookup_protocol (or GET https://pacta-x402.pacta.workers.dev/v1/protocols/lookup?q=<name>) to resolve its verified record: canonical slug and page URL, checksummed primary contract and controller, classification with its evidence basis (eas_attested: Base-EAS-attested, documentation compared; rpc_observed: on-chain control plane pinned over JSON-RPC, documentationComparison not_assessed; briefs), and preflightArgs {chain, address} for pacta_check_preflight. 53 protocols + 8 briefs, answered in memory with no RPC; free in every pricing mode; an empty query lists the catalog. Catalog: https://pacta.wtf/api/v1/lookup.json.
- [https://pacta-x402.pacta.workers.dev/openapi.json](https://pacta-x402.pacta.workers.dev/openapi.json): OpenAPI 3.1 for ChatGPT Actions, LangChain and OpenAPI tools; every route takes GET query parameters or a POST JSON body. 60 requests / minute per caller; free during the launch (pricingMode free_launch), x402 v1 + v2 ready.
- [https://pacta.wtf/protocols/](https://pacta.wtf/protocols/): per-protocol control-plane safety records.

## Agent feeds
- [https://pacta.wtf/llms-full.txt](https://pacta.wtf/llms-full.txt): complete single-file reference (feeds, MCP tools, x402, anchoring, every record, proposal and queued operation).
- [https://pacta.wtf/api/v1/proposals.json](https://pacta.wtf/api/v1/proposals.json): schema `pacta.governance_proposals_feed.v1`; live Aave / Euler / Morpho / Sky proposals mapped to block-pinned observations.
- [https://pacta.wtf/.well-known/agent.json](https://pacta.wtf/.well-known/agent.json) (A2A Agent Card) · [https://pacta.wtf/.well-known/mcp.json](https://pacta.wtf/.well-known/mcp.json) (MCP manifest) · [https://pacta.wtf/SKILL.md](https://pacta.wtf/SKILL.md) (portable agent skill).

## Data
- [https://pacta.wtf/api/v1/index.json](https://pacta.wtf/api/v1/index.json): schema `pacta.counterparty_control_index.v1`; `summary_metrics` (sprints_completed=14, records_indexed=37, parameter_deltas=14, protective_deltas=4, aligned_baselines=19); each entry has id, protocol, category, sprint, block_number, block_hash, classification, surface, target_contract, target_label, check_type, selector_or_slot, call_signature, call_args, repro_calldata, onchain_observed, documented_reference, observed/documented delay seconds, summary_doc, summary_sha256, base_eas_uid.
- [https://pacta.wtf/api/v1/rpc-pinned.json](https://pacta.wtf/api/v1/rpc-pinned.json): schema `pacta.rpc_pinned_records.v1`; 20 RPC-pinned control-plane records on Ethereum and Base (block number + hash, cast reproduction). NOT EAS-attested: no sprint, summary document or Base EAS UID.
- [https://pacta.wtf/api/v1/radar.json](https://pacta.wtf/api/v1/radar.json): queued timelock operations, refreshed at finalized block 26406890 (2026-11-13 15:18 UTC).
- [https://pacta.wtf/api/v1/forum-digest.json](https://pacta.wtf/api/v1/forum-digest.json): schema `pacta.forum_digest.v1`; read-only digest of active governance forum topics plus `addressIndex` (chain:address -> protocol family).

## Live pre-execution briefs
- [https://pacta.wtf/briefs/ethena-ops-0x0ca0-0x1fe5/](https://pacta.wtf/briefs/ethena-ops-0x0ca0-0x1fe5/): Pre-execution brief: two queued Ethena timelock operations onboard RLUSD and USAT to EthenaMinting at 200M / 20M USDe-per-block caps (1-day delay; ETAs 2026-11-14 10:20–10:22 UTC).
- [https://pacta.wtf/briefs/etherfi-op-0x244e/](https://pacta.wtf/briefs/etherfi-op-0x244e/): Pre-execution brief: ether.fi operation 0x244e…359f moves the EtherfiL1SyncPoolETH LayerZero V2 delegate behind the 10-day EtherFiTimelock (ETA 2026-11-20 16:54 UTC).
- [https://pacta.wtf/briefs/treehouse-op-0x2f11/](https://pacta.wtf/briefs/treehouse-op-0x2f11/): Pre-execution brief: a queued 5-day timelock operation upgrades the Treehouse TREE token (not tETH) and installs a 5-of-7 Safe blacklister (ETA 2026-11-17 04:51 UTC).

## Live onboarding verification briefs (assets proposed as collateral; block-pinned)
- [https://pacta.wtf/api/v1/onboarding.json](https://pacta.wtf/api/v1/onboarding.json): schema `pacta.onboarding_briefs.v1`; every check with call, calldata, raw result and decoded value; role maps replayed from events.
- [https://pacta.wtf/briefs/kerne-kusd-base/](https://pacta.wtf/briefs/kerne-kusd-base/): kUSD/USDC Euler Base market: ungoverned vaults and router, no caps, fixed 1.00 USDC oracle; kUSD and its minter administered through a 48h TimelockController (2-of-3 Safe proposer). (Euler forum #1862; Base Mainnet block 57050397)
- [https://pacta.wtf/briefs/efix-efixdi-base/](https://pacta.wtf/briefs/efix-efixdi-base/): efixDI/USDC Euler Base market: one 2-of-3 Safe governs vault, router and token admin with no timelock; efixDI+ MINTER_ROLE held by a single signer EOA; custom NAV oracle. (Euler forum #1850; Base Mainnet block 57050397)
- [https://pacta.wtf/briefs/circle-cirbtc-eth/](https://pacta.wtf/briefs/circle-cirbtc-eth/): cirBTC (Circle FiatToken): upgrade admin, owner, pauser and blacklister are EOAs; no on-chain timelock or multisig. (Aave governance #25128; Ethereum Mainnet block 26408330)
- [https://pacta.wtf/briefs/paxos-paxgy-eth/](https://pacta.wtf/briefs/paxos-paxgy-eth/): PAXGy BoringVault: 24h TimelockController owner; full RolesAuthority role -> capability -> holder map; exchange-rate bounds. (Aave governance #25499; Ethereum Mainnet block 26408330)
- [https://pacta.wtf/briefs/tether-usat-eth/](https://pacta.wtf/briefs/tether-usat-eth/): USAT (Ethereum): EIP-1967 proxy controlled by a 3-of-5 legacy MultiSigWallet with no timelock; linked pending Ethena ops. (Aave governance #25927; Ethereum Mainnet block 26408330)
- [https://pacta.wtf/demos/swapio-x402/](https://pacta.wtf/demos/swapio-x402/): 90-second x402 storyboard (TreasuryGuard) with a live, on-chain-verified Base USDC settlement receipt.

## Methodology
- Scanner seats replay read-only eth_call / eth_getStorageAt at the cited block (two independent archive RPCs); an isolated verifier seat re-checks selectors, EIP-55 checksums, EIP-1967 slots and arithmetic offline.
- Classifications: parameter_delta (on-chain differs from docs), protective_delta (a change that strengthens controls), aligned_baseline (on-chain matches docs), rpc_observed (on-chain control plane pinned at an archive block height over JSON-RPC; documentation parameter comparison unassessed).
- Exploit-sensitive vulnerabilities are never published here. They go through the protocol’s Immunefi or Cantina bounty programme, or to a partner audit firm under a 15% referral partnership.

## Access
- Free and real-time for everyone, including vault curators, allocators and AI risk agents: every indexed record, the timelock radar, the briefs, /api/v1/*.json and this file. No key, no delay, no paywall; curators never pay.

## On-chain anchoring (Base, chain id 8453)
- PactaCommitmentRegistry: `0x35D21Bb4Df6586FE7759b5e57263ffeB3e1fd872` (Sourcify verified); attester `pacta.base.eth` (`0xcA4E2ff22B69A7284210c47BdeE21Aac1269da09`).
- EAS schema: `0x7ff485bc1159dff3c70eefcb9dff2d65be990301760c2d53799e5a45e3badf83`. 16 Base EAS sprint attestations cover Sprints 1–16; Sprints 15–16 records join the public index after review.
- Multi-attest tx, Sprints 1–12: `0x8c53e155a4b2f28ffbf069f1b65952fc8f7d81740f362b8aafb39493c6bd001b`
- Multi-attest tx, Sprints 13–16: `0x11546aac53e3fe57fa6ac9f7e4397f06c58b6803252e099eb9349eca00f2edbf`
- Per-sprint attestation UIDs: `onchain_anchoring.sprint_eas_attestations` in /api/v1/index.json; each record's `base_eas_uid`.

## Engagements (collateral and protocol issuers only; curators, risk teams and agents never pay)
- 24h Onboarding & Delta Clearance: $5,000 USDC flat. Archive-RPC control-plane verification, an upstream GitBook / docs reconciliation PR, a Base Mainnet EAS Aligned attestation in PactaCommitmentRegistry, and a Curator Diligence Dossier (PDF + JSON) for Morpho, Euler, Aave and Sky forum proposals, within 24 hours. Clears open parameter_delta flags or onboards a new asset. Request: https://pacta.wtf/request/?tier=clearance
- Continuous Aligned Maintenance: $1,500 USDC / month. Keeps the Aligned attestation and dossier current across governance proposals, signer rotations and timelock upgrades. Request: https://pacta.wtf/request/?tier=continuous
- High-throughput API (> 60 requests / minute or a dedicated SLA): x402 metered endpoints, or an Enterprise API key priced on scope: https://pacta.wtf/request/?tier=api_sla
- Settlement, Option A (recommended for protocol treasuries): a formal commercial invoice (PDF) with verified counterparty payment instructions, issued on scope confirmation; no upfront transfer is needed to open intake.
- Settlement, Option B (direct express): USDC on Base (`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`) or Ethereum (`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`) to the Pacta treasury (direct settlement EOA) `0x4348DF1BEFAffcbA248B5118B1b782B1B2bdEd14` (an externally owned account; the same address on both chains).
- Community queue: free, unscheduled (typically 6–8 weeks).
- Request: https://pacta.wtf/request/ (builds a scope brief; opens a pre-filled GitHub intake issue or Gmail compose, or copies the brief). Prefill: `?tier=clearance|continuous|api_sla&protocol=<slug>&forum=<https URL>&settlement=invoice|direct`.

## x402 API (live; free during the launch)
- On-demand scans of contracts outside the index. Free launch: every route answers HTTP 200 at $0 with no payment header (pricingMode free_launch); the x402 flow below applies only when the operator switches pricingMode to x402_paid. Live gateway: https://pacta-x402.pacta.workers.dev (Cloudflare Worker, x402Versions [1, 2]: v1 network `base` with `X-PAYMENT` / `X-PAYMENT-RESPONSE`, v2 network `eip155:8453` with `PAYMENT-REQUIRED` / `PAYMENT-SIGNATURE` / `PAYMENT-RESPONSE`; USDC on Base, payTo `0xcA4E2ff22B69A7284210c47BdeE21Aac1269da09`, maxTimeoutSeconds 60). Routes (x402_paid prices): `GET /v1/check/preflight?chain=&address=` ($0.01), `GET /v1/scan/control-plane?chain=&address=` ($0.10), `GET /v1/scan/timelock-op?chain=&timelock=&opId=` ($0.25), `GET /v1/scan/proposal-diff?forum=&topicId=` ($0.15), `GET /v1/briefs/live-timelocks` ($0.10); free `/health`, `/.well-known/x402` (Bazaar discovery), `/v1/sample/control-plane`. A bare GET (no query) or zero-byte POST with no payment header on a paid route returns HTTP 402 with both challenges; the Bazaar extension carries a JSON Schema draft 2020-12 schema.
- Remote MCP: https://pacta-x402.pacta.workers.dev/mcp (free, no install). Local stdio server (from a clone of the repo; npm publication pending): set `PACTA_X402_URL=https://pacta-x402.pacta.workers.dev` to enable the scan tools; in x402_paid mode pay with `xPaymentHeader` (v1) or `paymentSignatureHeader` (v2). The MCP client does not re-check receipts on-chain (onchainReceiptVerified: false); the gateway does.
- Gateway settlement guard: In x402_paid mode the gateway verifies every settlement on Base before releasing the product: eth_getTransactionReceipt must show status 0x1 and canonical USDC Transfer(payer -> payTo 0xcA4E2ff22B69A7284210c47BdeE21Aac1269da09) logs summing to at least the route price, and replays are rejected on a best-effort basis (402 replay_settlement_tx) via synchronous same-isolate state and non-atomic eventually-consistent KV used_tx:<txHash>; concurrent cross-isolate races are not globally atomic without Durable Objects. Otherwise the product is withheld: 402 unconfirmed_or_reverted_settlement_tx / insufficient_onchain_usdc_transfer, or 502 settlement_rpc_unavailable when no Base RPC answers.

## Contact
- pacta@dri.network · https://github.com/Fractal-Neurons/pacta · https://fractalneurons.com · security: https://pacta.wtf/.well-known/security.txt