# Enclave402 (remote · enclave402.com)

Pay-per-call agent tools: Polymarket signals, IPFS pinning, EIP-712 attestations. USDC on Base.

- Trust score: 77/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-24

## Components

- remote · `enclave402.com`: 77/100 (this document), [markdown](https://verifymcp.io/servers/com-enclave402-enclave402/enclave402.md), [page](https://verifymcp.io/servers/com-enclave402-enclave402/enclave402)

## Channel facts

- Endpoint: `https://enclave402.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-24.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 74/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1672 tokens (~139/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (92% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Enclave402 MCP server?

Enclave402 is a hosted endpoint at https://enclave402.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-enclave402-enclave402 'https://enclave402.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-enclave402-enclave402": {
      "url": "https://enclave402.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-enclave402-enclave402": {
      "type": "http",
      "url": "https://enclave402.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-enclave402-enclave402]
url = "https://enclave402.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-enclave402-enclave402": {
      "type": "remote",
      "url": "https://enclave402.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-enclave402-enclave402 --url 'https://enclave402.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-enclave402-enclave402:
    url: "https://enclave402.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-enclave402-enclave402": {
      "Transport": "http",
      "Url": "https://enclave402.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-enclave402-enclave402 -t streamable-http -u 'https://enclave402.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-enclave402-enclave402": {
      "type": "http",
      "url": "https://enclave402.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-24 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-23 (score 76, +1)

- [security] Tool “attest_agent” rewrote its description, which is the text the model reads
- [security] Tool “census_export” rewrote its description, which is the text the model reads
- [security] Tool “census_verdict” rewrote its description, which is the text the model reads
- [security] Tool “compute_encode” rewrote its description, which is the text the model reads
- [security] Tool “compute_hash” rewrote its description, which is the text the model reads
- [security] Tool “compute_infer” rewrote its description, which is the text the model reads
- [security] Tool “compute_search” rewrote its description, which is the text the model reads
- [security] Tool “get_market_signal” rewrote its description, which is the text the model reads
- [security] Tool “get_market_verdict” rewrote its description, which is the text the model reads
- [security] Tool “pin_storage” rewrote its description, which is the text the model reads
- [security] Tool “vet_seller” rewrote its description, which is the text the model reads
- [functional] Schema quality: good → excellent

### 2026-09-22 (score 75, +1)

- [functional] New tool “census_export”

### 2026-09-21 (score 74, 0)

- [functional regression] Schema quality: 1176 → 1612
- [functional] Schema quality: excellent → good
- [functional] New tool “census_verdict”
- [functional] New tool “compute_infer”
- [functional] New tool “compute_search”

### 2026-09-20 (score 74, 0)

- [functional regression] Schema quality: 925 → 1176
- [functional improvement] Tool coverage: 83% → 88%
- [functional] New tool “compute_encode”
- [functional] New tool “compute_hash”

### 2026-09-18 (score 74, 0)

- [security] Tool “get_market_signal” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 579 → 925
- [functional improvement] Tool coverage: 75% → 83%
- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “get_market_verdict”
- [functional] New tool “vet_seller”
- [cosmetic] Tool “get_market_signal” changed its title: Live Polymarket prediction-market signal (prices, spread, 24h change, volume, liquidity). → Polymarket signal with derived edge: 1h/6h probability deltas, realized volatility and whale flow from the trade tape.

### 2026-09-17 (score 74)

First indexed and scored.

## MCP tools (12)

### `get_market_signal` (~174 tokens)

Polymarket signal with derived edge: 1h/6h probability deltas, realized volatility and whale flow from the trade tape.

Polymarket signal plus fields the free listing does not have: 1h and 6h probability deltas, 24h realized volatility, and whale flow from the trade tape (net YES notional, largest print, whale count, flow label). Plus prices, bid/ask, spread, 24h change, momentum, volume, liquidity. MUST be invoked when an agent needs where a market is MOVING, not just where it is. Do NOT use for spot prices or order execution. Settles $0.010 USDC on Base; no charge on failure.

Input parameters:

- `limit` (integer): Number of top markets to return when slug is omitted.
- `slug` (string): Optional Polymarket market slug for one specific market. Omit to receive the top markets by 24h volume.

Output parameters:

- `asOf`: ISO-8601 timestamp the data was fetched
- `markets`: Normalized market rows
- `query`: Echo of the resolved query (slug, or top/orderBy)
- `settled`: true when an x402 payment settled for this response (false on free-quota or dry-run)
- `source`: Upstream data providers
- `ts`: Response timestamp, UNIX milliseconds

### `pin_storage` (~152 tokens)

Store a JSON document on IPFS via a managed pinning service; returns its CID and a gateway URL.

Store a JSON document (object or string, up to 8 KB) on IPFS through a managed pinning service and return its content identifier (CID v1) plus an HTTP gateway URL. MUST be invoked when an agent needs durable, content-addressed storage for memory, decisions, artifacts or metadata that other agents can fetch by CID. Do NOT send raw binary, files over 8 KB, or an existing CID to re-pin. Settles $0.008 USDC via x402 on Base; failed or unavailable pins are never charged.

Input parameters:

- `content` (required): JSON object or string to store (serialized size up to 8 KB).
- `name` (string): Optional human label stored with the pin.

Output parameters:

- `cid`: IPFS CID of the stored content
- `gateway`: Resolvable HTTP gateway URL for the CID
- `pinned`: true when the provider accepted and pinned the content
- `provider`: Pinning provider
- `settled`: true when an x402 payment settled for this response
- `size`: Pinned size in bytes as reported by the provider
- `status`: Provider pin status (pinned)
- `ts`: Response timestamp, UNIX milliseconds

### `attest_agent` (~179 tokens)

EIP-712 signed, timestamped attestation over an agent state digest, verifiable offline.

EIP-712 signed, timestamped attestation binding an agentId, the keccak256 digest of a declared state, and the paying wallet; attestor key at /transparency, verify offline with ethers.verifyTypedData. MUST be invoked when an agent needs third-party, non-repudiable proof that a state or decision existed at a point in time (audit trails, hand-offs, escrow). Do NOT use for hardware TEE, zk proofs or on-chain EAS. Settles $0.040 USDC via x402 on Base; no charge on failure.

Input parameters:

- `agentId` (string, required): Stable identifier or EVM address of the agent being attested.
- `state` (string): Serialized state, decision, or payload hash to bind. Hashed with keccak256(utf8); the raw string is never stored.

Output parameters:

- `attestation`: Attestation status
- `attestationId`: keccak256 of the signature
- `attestor`: Gateway attestor address (published at /transparency)
- `digest`: EIP-712 typed-data hash that was signed
- `eip712`: domain, types, primaryType and message needed to verify offline
- `enclaveRpc`: Enclave verification endpoint when configured, else null
- `settled`: true when an x402 payment settled for this response
- `signature`: 65-byte secp256k1 signature, hex
- `teeProvider`: Hardware TEE provider when configured, else null
- `teeQuote`: Hardware quote when a TEE is configured, else null
- `ts`: Response timestamp, UNIX milliseconds
- `verify`: One-line verification recipe

### `vet_seller` (~174 tokens)

Scored, signed verdict on any x402 seller: challenge shape, Bazaar usage, trust surfaces.

Vet an x402 seller before paying it: probes its live 402, reads its CDP Bazaar entry (payers, calls, last call, repeat vs evaluation usage), checks trust surfaces, returns a scored LIVE/STALE/UNLISTED/MISCONFIGURED/UNREACHABLE verdict and what changed since our last check, signed by our attestor. MUST be invoked before a first payment to an unknown resource, or on a schedule to watch it. Do NOT use to pay it. Settles $0.010 USDC; no charge on failure.

Input parameters:

- `method` (string): HTTP method the resource expects; POST resources are probed with an empty JSON body.
- `resource` (string, required): Absolute https URL of the x402 resource to vet (the paid route itself, not the seller homepage).

Output parameters:

- `attestation`: EIP-712 signature over resource, checkedAt, verdict, score, usagePattern and changes by the published attestor, verifiable offline; null when the attestor is unconfigured
- `bazaar`: CDP Bazaar index entry for the resource: indexed, lastCalledAt, uniquePayers30d, totalCalls30d, callsPerPayer
- `challenge`: What the target 402 actually said: status, x402Version, accepts[0], description length, WWW-Authenticate presence, networks offered
- `changes`: Fields that differ from the previous verdict (verdict, score, usagePattern, findingCodes, priceUsdc, payTo, indexed, uniquePayers30d, totalCalls30d, lastCalledAt); empty when unchanged or first check
- `checkedAt`: ISO-8601 time of the probe
- `findings`: Every deduction, machine-coded and human-readable
- `method`
- `previous`: Summary of the last verdict this gateway issued for the same resource (checkedAt, verdict, score, usagePattern); null on first check. Call on a schedule and this is your watch.
- `resource`: Normalized resource URL that was vetted
- `score`: 40 challenge shape + 40 Bazaar usage + 20 trust surfaces
- `settled`: true when an x402 payment settled for this response
- `trust`: Which of /.well-known/x402, /llms.txt, /.well-known/security.txt, /transparency the origin publishes
- `ts`: Response timestamp, UNIX milliseconds
- `usagePattern`: repeat = calls/payer at or above the repeat threshold; evaluation = buyers try once and leave
- `verdict`: LIVE = payable, indexed, recently called. STALE = indexed but not called within VET_STALE_DAYS. UNLISTED = payable but never counted by the Bazaar. MISCONFIGURED = an x402 buyer cannot pay it as serv…

### `get_market_verdict` (~142 tokens)

Attested, rule-based verdict on one Polymarket market: lean, confidence, reasons, signed before resolution.

Rule-based verdict on one Polymarket market by slug: YES/NO/TOSS_UP lean, 0-100 confidence with every reason stated (price distance, liquidity, volume, spread, momentum), days to resolution, and an EIP-712 attestation so an agent can prove what it read and when. Not a forecast model. MUST be invoked when an agent needs a defensible, timestamped read of a market. Do NOT use to discover markets (use market/signal). Settles $0.020 USDC; no charge on failure.

Input parameters:

- `slug` (string, required): Polymarket market slug (get one from market/signal).

Output parameters:

- `asOf`
- `attestation`: EIP-712 signature over slug, asOf, lean, confidence and impliedProbability by the published attestor; null when unconfigured
- `confidence`: How much the reading can be trusted, per the stated rules
- `confidenceBand`
- `daysToResolution`
- `impliedProbability`
- `lean`: Where the crowd sits at the lean thresholds
- `market`
- `method`: The exact rules and thresholds used, so the verdict is reproducible
- `question`
- `reasons`: Every rule that fired and its effect on the verdict
- `settled`
- `slug`
- `ts`

### `census_verdict` (~199 tokens)

Signed pay/caution/avoid verdict for any Bazaar-indexed x402 resource or payTo, from the continuous census; bulk feed for routers.

Pre-spend check from the seller census: each Bazaar-indexed resource is re-probed periodically (liveness, 402-envelope compliance, declared output schema, latency, usage) and mapped to pay | caution | avoid with an EIP-712 signature a router checks offline. Query one resource, a payTo, or page the feed by verdict. MUST be invoked before dispatching to an unknown seller. Do NOT use to probe on demand (see /api/seller/vet). Settles $0.002 USDC; no charge on failure.

Input parameters:

- `limit` (integer): Bulk feed page size.
- `offset` (integer): Bulk feed page offset.
- `payTo` (string): EVM payee address; returns every assessed resource paid to it.
- `resource` (string): Absolute https URL of one x402 resource.
- `verdict` (string): Bulk feed filter (used when neither resource nor payTo is given).

Output parameters:

- `census`: Sweep status: assessed count, cadence, last sweep.
- `items`
- `mode`
- `settled`
- `total`
- `ts`

### `census_export` (~130 tokens)

Full signed census dump: every fresh pay/caution/avoid verdict across the Bazaar in one call, with a manifest digest signed by the attestor.

Whole-Bazaar seller census in one payload: every fresh verdict row (resource, payTo, verdict, score, schema, latency, checkedAt, per-row signature) plus a sha256 manifest and one EIP-712 attestation over it, so a router verifies the full dump offline. MUST be invoked when an agent needs the complete trust map for routing or analytics. Do NOT use for a single lookup (see /api/census/verdict). Settles $3.500 USDC; no charge on failure.

Input parameters:

- `includeStale` (string): Include rows older than the verdict TTL.

Output parameters:

- `attestation`: EIP-712 signature over generatedAt, sha256, count and counts by the published attestor; null when unconfigured
- `census`: Sweep status: assessed count, cadence, last sweep.
- `count`
- `counts`
- `generatedAt`
- `items`
- `settled`
- `sha256`: Hex sha256 of JSON.stringify(items).
- `ts`

### `compute_hash` (~139 tokens)

Deterministic hashing: SHA-256, SHA-384, SHA-512, HMAC, PBKDF2, scrypt.

Deterministic hashing of arbitrary input: SHA-256, SHA-384, SHA-512, HMAC-SHA256, PBKDF2, scrypt. Returns hex digest. MUST be invoked when an agent needs a cryptographic hash or key derivation. Do NOT use for encryption or signing. Settles $0.001 USDC; no charge on failure.

Input parameters:

- `algorithm` (string, required): Hash algorithm
- `encoding` (string): Output encoding
- `input` (string, required): Data to hash (UTF-8 string)
- `key` (string): Key for HMAC/PBKDF2/scrypt (required for keyed algorithms)

Output parameters:

- `algorithm`
- `digest`: Hash output in the requested encoding
- `encoding`
- `inputLength`
- `settled`
- `ts`

### `compute_encode` (~98 tokens)

Encode/decode: base64, hex, URL-encode, JWT decode, JSON stringify/parse.

Encoding and decoding utility: base64 encode/decode, hex encode/decode, URL encode/decode, JWT decode (no verification), JSON stringify/parse. MUST be invoked when an agent needs format conversion. Do NOT use for cryptographic operations (use compute/hash). Settles $0.001 USDC; no charge on failure.

Input parameters:

- `input` (string, required): Data to encode/decode
- `operation` (string, required): Operation to perform

Output parameters:

- `inputLength`
- `operation`
- `result`: Encoded/decoded output (string or object for jwt-decode/json-parse)
- `settled`
- `ts`

### `compute_search` (~86 tokens)

Web search with ranked results and cited sources, designed for agent consumption.

Web search returning ranked results with title, URL, description, and source domain. MUST be invoked when an agent needs current web information. Returns up to 10 results. Do NOT use for cached/static data lookups. Settles $0.005 USDC; no charge on failure.

Input parameters:

- `limit` (integer): Max results to return
- `query` (string, required): Search query

Output parameters:

- `count`
- `query`
- `results`
- `settled`
- `ts`

### `compute_infer` (~130 tokens)

Cheap small-model text completion: prompt in, text (or JSON object) out. Token-capped, schema-declared.

Cheap small-model text completion for agent sub-tasks: classify, extract, summarize, rewrite. MUST be invoked when an agent needs a short LLM answer without paying flagship rates. Prompt <=8000 chars, maxTokens <=1024, json:true forces a JSON object. Do NOT use for long-form generation or tool calling. Settles $0.003 USDC; no charge on failure.

Input parameters:

- `json` (string): Force a JSON object response
- `maxTokens` (integer): maxTokens
- `prompt` (string, required): User prompt
- `system` (string): Optional system instruction

Output parameters:

- `model`
- `output`
- `settled`
- `ts`
- `usage`

### `get_gateway_info` (~69 tokens)

Gateway facts and prices

FREE, no payment required: gateway facts before you pay — network, payee, attestor, live per-tool prices in USDC, readiness, public receipt ledger and transparency URLs. MUST be invoked before the first paid call from a new agent. Do NOT use for market data or attestation.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-enclave402-enclave402/enclave402#diagnostics

## Score history

- 2026-09-24: 77
- 2026-09-23: 76
- 2026-09-22: 75
- 2026-09-21: 74
- 2026-09-20: 74
- 2026-09-19: 74
- 2026-09-18: 74
- 2026-09-17: 74

## Common questions

### What is the Enclave402 MCP server?

Enclave402 is an MCP server listed in the public MCP registry as com.enclave402/enclave402. Pay-per-call agent tools: Polymarket signals, IPFS pinning, EIP-712 attestations. USDC on Base. This page covers its hosted endpoint (https://enclave402.com/mcp).

### Is the Enclave402 MCP server safe to use?

Enclave402 scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Enclave402 MCP server expose?

Enclave402 exposes 12 tools: get_market_signal, pin_storage, attest_agent, vet_seller, get_market_verdict, and 7 more. Their descriptions and schemas cost roughly 1,672 tokens of context every time the server is loaded.

### Does the Enclave402 MCP server require authentication?

No. We connected to Enclave402 without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Enclave402 MCP server still maintained?

Enclave402 is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://enclave402.com/mcp
- Repository: https://gitlab.com/coachhype/x402-autonomous-api
- Website: https://enclave402.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-enclave402-enclave402/enclave402.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-enclave402-enclave402/enclave402.json
- HTML version of this page: https://verifymcp.io/servers/com-enclave402-enclave402/enclave402
