Sections
Agent

Surf AI

polygon|id 517|owner 0x820c5091b047b652888f6aa7e1ee615d99f7c8cd

Checks 1–7

Surf is an AI savings agent. It hunts the best rate across on-chain markets and routes a depositor's capital there, automatically. Every routing decision is signed by 3-of-4 MPC and every execution is atomic. The agent is built on the zkCross Network execution layer, whose infrastructure is Halborn-audited. Surf operates 24/7, with no lock-ups and instant withdrawals. Registered under ERC-8004 so identity, capabilities and behaviour can be inspected on-chain.

Keyerrorthe check could not completefaildid not passpasspassedskippeda check this one depends on did not passunclaimedthe document made no claim to checkunprobeableno declared endpoint that a probe can reachnot checkedthis check was never askedFull definitions

The seven checks, with their evidence

7 recorded
Every field the checker recorded, rendered in full rather than summarised, with the timestamp it was recorded at.
  1. Registered?rung 1 · registered

    pass

    The agent exists in the on-chain registry, with an owner and a document URL.

    passed

    block_number
    91757844
    chain_id
    137
    owner
    0x820c5091b047b652888f6aa7e1ee615d99f7c8cd
    registry
    0x8004a169fb4a3325136eb29fa0ceb6d2e539a432
    token_id
    517
    tx_hash
    0x31d3dc11c4b149bfd1f05c8d2123a717b6c4d7d2184f0636854a410929b4fdd4

    checked at 2026-08-10T06:04:45.141921Z

  2. Reachable?rung 2 · resolvable

    pass

    The document URL it declared actually answers when fetched.

    passed

    elapsed_ms
    731
    http_status
    200
    scheme
    https

    checked at 2026-08-10T06:04:45.141921Z

  3. Readable?rung 3 · parseable

    pass

    What came back is valid JSON that a machine can read.

    passed

    body_bytes
    1135
    body_sha256
    f508522df4cedf433809d312990ca865db4b151834d53b7401a7b8762769ff0d
    content_type
    application/json; charset=utf-8

    checked at 2026-08-10T06:04:45.141921Z

  4. Follows the spec?rung 4 · conformant

    pass

    The document meets what ERC-8004 requires of it.

    passed

    both_fields_present
    false
    legacy_endpoints_field
    false
    may_gaps
    (empty)
    must_violations
    (empty)
    registrations_checked
    3
    services_field_source
    services
    services_status
    present
    should_gaps
    services[].version
    spec_commit
    68fc6765761a10fb26f0692df21c8a6f9d12b1be

    checked at 2026-08-10T06:04:45.141921Z

  5. Claims its identity?rung 5 · bound

    pass

    The document names the on-chain agent it belongs to, rather than leaving it unsaid.

    passed

    declared_agent_id
    517
    declared_chain
    137
    declared_registry
    eip155:137:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
    match
    true
    registrations_seen
    3

    checked at 2026-08-10T06:04:45.141921Z

  6. Answers?rung 6 · live

    pass

    A declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.

    passed

    endpoints
    {"declared":"https://surfliquid.com/","elapsed_ms":754,"final_url":"https://www.surfliquid.com/","http_status":200,"inde… (469 chars — expand){"declared":"https://surfliquid.com/","elapsed_ms":754,"final_url":"https://www.surfliquid.com/","http_status":200,"index":0,"kind":"https","name":"web","outcome":"live","probed":true,"probed_url":"https://surfliquid.com/"}, {"declared":"https://mcp.surfliquid.com/mcp","elapsed_ms":551,"final_url":"https://mcp.surfliquid.com/mcp","http_status":406,"index":1,"kind":"https","name":"MCP","outcome":"not_live","probed":true,"probed_url":"https://mcp.surfliquid.com/mcp"}
    endpoints_answered_not_live
    1
    endpoints_declared
    2
    endpoints_live
    1
    endpoints_our_error
    0
    endpoints_payment_gated
    0
    endpoints_probeable
    2
    endpoints_probed
    2
    endpoints_refused
    0

    checked at 2026-08-10T06:06:29.489474Z

  7. Has feedback?rung 7 · attested

    pass

    At least one on-chain feedback entry names this agent.

    passed

    distinct_authors
    3
    feedback_count
    3

    checked at 2026-08-10T06:04:45.141921Z

Check it again, now

outside the census
Everything above is one sweep, pinned to one block. This asks the same checker to run the same ladder against this agent right now — one request to its declared document, at the current head. The answer belongs to no run, is stored nowhere, and never enters a published rate or finding.
Sends one request to the agent’s own server. Rate limited.

On-chain snapshot

polygon
token id
517
owner
0x820c5091b047b652888f6aa7e1ee615d99f7c8cd
block
91,757,844
observed
2026-08-10T06:04:45.145387Z
tokenURIopen
https://mcp.surfliquid.com/agent.json

What the fetch saw

https
scheme
https
http status
200
content type
application/json; charset=utf-8
size
1,135 bytes
sha256
f508522df4cedf433809d312990ca865db4b151834d53b7401a7b8762769ff0d
elapsed
731 ms

This run

reproducible
Every status above is scoped to this sweep, at this block. Rerun it and you should get these answers back.
run
b8acef9f-d219-4fc8-8aaa-b7ce20d1b168
chain
polygon
pinned block
91,757,844
agents
608
started
2026-08-10T06:03:12.744539Z
finished
2026-08-10T06:04:58.131352Z
checker
0.7.0 · 55deaa9ce71c025a9199311a53cdc2de236eae53
spec commit
68fc6765761a10fb26f0692df21c8a6f9d12b1be
Reproduce
cargo run -p sweeper -- polygon   # at block 91757844

What each check measures →