{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_hnsv3ebuda5y","handle":"surface-contract-how-platform-apis-really-behave","url":"https://wellknown.network/agents/surface-contract-how-platform-apis-really-behave","links":{"self":"https://wellknown.network/agents/surface-contract-how-platform-apis-really-behave/record.json","html":"https://wellknown.network/agents/surface-contract-how-platform-apis-really-behave","markdown":"https://wellknown.network/agents/surface-contract-how-platform-apis-really-behave/record.md","api":"https://wellknown.network/api/v1/agents/surface-contract-how-platform-apis-really-behave","status":"https://wellknown.network/api/v1/agents/surface-contract-how-platform-apis-really-behave/status","claim":"https://wellknown.network/agents/surface-contract-how-platform-apis-really-behave/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/surface-contract-how-platform-apis-really-behave/claim.json","badge":"https://wellknown.network/agents/surface-contract-how-platform-apis-really-behave/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/surface-contract-how-platform-apis-really-behave/history","tools":"https://wellknown.network/api/v1/agents/surface-contract-how-platform-apis-really-behave/tools"},"ard":{"identifier":"urn:air:penny-surface-contract.penny-mcamp.workers.dev:server:surface-contract-how-platform-apis-really-behave","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Surface Contract: platform API behavior and x402 pre-payment checks","summary":"Surface contracts: API behavior evidence, x402 pre-payment check, MCP server preflight","description":"Surface contracts: API behavior evidence, x402 pre-payment check, MCP server preflight","publisher":{"name":"dev.workers.penny-mcamp.penny-surface-contract","url":null},"homepage":"https://penny-surface-contract.penny-mcamp.workers.dev/","repository":null,"version":"2026.10.22","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-22T14:54:59.154897Z","publishedAt":"2026-10-22T14:54:59.154897Z","registryName":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.contracts","name":"Contracts & Legal","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"}],"categories":["commerce","documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5m ago.","lastOkAt":"2026-11-10T01:31:31.831Z","lastProbedAt":"2026-11-10T01:31:31.831Z","statusComputedAt":"2026-11-10T01:34:14.490Z","reliability30d":{"probes":83,"successRate":1,"p50Ms":172,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":83,"ok":83,"authBoundaryOk":0,"serviceOk":83,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-10T01:31:31.831Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":181,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-09T16:29:25.656Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":254,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-09T07:28:20.669Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":138,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T22:28:02.600Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":135,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T13:27:30.030Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":140,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T03:25:09.348Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":120,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T18:26:40.819Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":391,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T10:28:42.785Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":138,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T02:28:59.366Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":80,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T17:29:23.218Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":161,"error":null,"detail":{"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"toolCount":7,"toolsHash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","serverName":"penny-surface-contract","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_surface_contracts","description":"List the platform surface contracts published in Penny's free registry, with claim counts."},{"name":"get_surface_contract","description":"Get the machine-readable surface contract for a platform host (read/write semantics, pending states, rate limits, limits, idempotency, pagination completeness, "},{"name":"verify_surface","description":"Run the anonymous conformance checks for a contract now and return verified / failed / unknown / manual / unsupported per claim."},{"name":"contribute_discrepancy","description":"Report a platform behaviour that contradicts a published claim, or a new claim, with evidence. One-line call: POST /v1/contribute with {contractId, kind, statem"},{"name":"get_integration_recipe","description":"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 nami"},{"name":"preflight_mcp_server","description":"Run the anonymous MCP handshake against ANY https MCP endpoint you name, right now, and get back a verdict (open / refused / unreachable / initialize-transport-"},{"name":"prepay_check","description":"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 me"}],"package":null,"toolSurface":{"id":"ts_juh9evbqzu6g","endpointId":"ep_b8w825ry38pp","hash":"572a75e0741cc8e19ca1c72bf95dd1e994ae79195c37c1b14df40a2498aa262d","toolCount":7,"serverName":"penny-surface-contract","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-15T12:31:52.315Z","lastSeenAt":"2026-11-10T01:31:31.831Z","observations":83,"hiddenText":{"level":"none","total":0,"tools":0,"kinds":[],"findings":[]},"toolNames":["list_surface_contracts","get_surface_contract","verify_surface","contribute_discrepancy","get_integration_recipe","preflight_mcp_server","prepay_check"],"distinctSurfaces":1,"surfacesWithHiddenText":0},"endpointFacts":[{"id":"ep_b8w825ry38pp","url":"https://penny-surface-contract.penny-mcamp.workers.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-11-08T13:27:30.053Z","auth":{"observedAt":"2026-11-08T13:27:30.141Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-11-08T13:27:30.170Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"penny-mcamp.workers.dev","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-10-09T09:07:57.000Z","validTo":"2027-01-07T09:07:56.000Z","daysToExpiry":58,"sanCount":2,"fingerprint256":"23:30:7C:92:88:4D:59:11:71:53:F7:58:4E:45:0B:94:EB:7F:FB:4E:D7:03:C0:1E:7C:F2:DA:42:B1:AB:8E:AB"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.workers.penny-mcamp.penny-surface-contract/surface-contract","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.workers.penny-mcamp.penny-surface-contract%2Fsurface-contract","firstSeenAt":"2026-10-15T12:22:17.160Z","fetchedAt":"2026-11-09T11:21:01.597Z","normalizedAt":"2026-11-09T11:21:01.597Z"}]},"firstSeenAt":"2026-10-15T12:22:17.160Z","updatedAt":"2026-11-10T01:35:52.972Z"}