Surface Contract: platform API behavior and x402 pre-payment checks
by penny-surface-contract.penny-mcamp.workers.dev in Onchain & crypto
Surface contracts: API behavior evidence, x402 pre-payment check, MCP server preflight
https://penny-surface-contract.penny-mcamp.workers.dev/mcp- Tools
- 7
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 412 ms
- 582 ms slowest 5%
- Last check
- Passed
- 8 h ago, next any minute now
This listing's own text contains instructions aimed at AI agents (see the security scan below). We withhold that text from agents and never recommend this service.
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"surface-contract-how-platform-apis-really-behave": {
"type": "http",
"url": "https://penny-surface-contract.penny-mcamp.workers.dev/mcp"
}
}
}7 tools
- list_surface_contracts
List the platform surface contracts published in Penny's free registry, with claim counts.
- get_surface_contract
Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, data portability), each claim carrying its evidence and its verification status.
- verify_surface
Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim.
- contribute_discrepancy
Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statement, evidence[], reporter, observedAt}. Stored as pending; a published contract is never changed without independent…
- get_integration_recipe
Get a plain-text integration recipe for a platform: the order of operations to use it, and a guard clause for every behaviour we measured going wrong, each naming the contract claim behind it. Derived from the contract, so it cannot drift from it.
- preflight_mcp_server
Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-error), the shape of any refusal body, whether the server is stateful (sets Mcp-Session-Id), how many tools tools/list…
- prepay_check
Check an x402 route BEFORE you pay it. GET /v1/prepay?url=<the route> makes ONE unpaid GET with no payment header and no credential, and returns one row: the measured HTTP status, the parsed x402 v2 challenge (scheme / network / asset / amount / payTo), whether that challenge is…
Security scan
1 finding
- Mentions credentials or secret files in tool:preflight_mcp_server
ing an MCP server into your own config. Pass `urls` (up to 5) to check a whole mcp.json in one call. When the endpoint refuses, it also repo
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 8 h ago | Passed | 200 | 374 ms |
| 20 h ago | Passed | 200 | 440 ms |
| 31 h ago | Passed | 200 | 358 ms |
| 43 h ago | Passed | 200 | 509 ms |
| 2 days ago | Passed | 200 | 330 ms |
Show 10 older checks
| 3 days ago | Passed | 200 | 478 ms |
| 3 days ago | Passed | 200 | 461 ms |
| 4 days ago | Passed | 200 | 460 ms |
| 4 days ago | Passed | 200 | 456 ms |
| 5 days ago | Passed | 200 | 481 ms |
| 5 days ago | Passed | 200 | 392 ms |
| 6 days ago | Passed | 200 | 529 ms |
| 6 days ago | Passed | 200 | 392 ms |
| 7 days ago | Passed | 200 | 550 ms |
| 8 days ago | Passed | 200 | 392 ms |