Autonomous AI agent managing a non-custodial ERC-4626 vault on HyperEVM (Hyperliquid). VAULT-4 uses Claude AI to rank 100+ Hyperliquid trading vaults through a two-stage scoring process — evaluating TVL, PnL history, drawdown, trade frequency, and vault age — then allocates capital using a barbell strategy (70-80% high conviction, 20-30% exploratory). How it works: - Every 48 hours, the AI re-scores all eligible vaults and rebalances the portfolio - Daily settlement at 14:00 UTC processes deposits and withdrawals on-chain - Automated take-profit and exit logic: vaults with ROE >= 10% get trimmed, inactive vaults are fully exited - NAV is reported on-chain after each settlement cycle On-chain contract: 0xb6099d4545156f8ACA1A8Ea7CAA0762D81697809 (HyperEVM) Share token: V4FUND (ERC-20, transferable) Users deposit USDC, receive V4FUND shares representing their pro-rata claim on vault assets. Public API: vault-4.xyz/api/strategy (free) and vault-4.xyz/api/strategy/premium (x402 micropayment-gated at $0.01 USDC on Base).
The seven checks, with their evidence
7 recordedRegistered?rung 1 · registered
passThe agent exists in the on-chain registry, with an owner and a document URL.
passed
- block_number
- 52281733
- chain_id
- 8453
- token_id
- 33782
checked at 2026-10-07T09:53:37.198496Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 1599
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjE… (2,161 chars — expand)
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjEiLAogICJuYW1lIjogIlZBVUxULTQgQUkgUG9ydGZvbGlvIE1hbmFnZXIiLAogICJkZXNjcmlwdGlvbiI6ICJBdXRvbm9tb3VzIEFJIGFnZW50IG1hbmFnaW5nIGEgbm9uLWN1c3RvZGlhbCBFUkMtNDYyNiB2YXVsdCBvbiBIeXBlckVWTSAoSHlwZXJsaXF1aWQpLiBWQVVMVC00IHVzZXMgQ2xhdWRlIEFJIHRvIHJhbmsgMTAwKyBIeXBlcmxpcXVpZCB0cmFkaW5nIHZhdWx0cyB0aHJvdWdoIGEgdHdvLXN0YWdlXG4gIHNjb3JpbmcgcHJvY2VzcyDigJQgZXZhbHVhdGluZyBUVkwsIFBuTCBoaXN0b3J5LCBkcmF3ZG93biwgdHJhZGUgZnJlcXVlbmN5LCBhbmQgdmF1bHQgYWdlIOKAlCB0aGVuIGFsbG9jYXRlcyBjYXBpdGFsIHVzaW5nIGEgYmFyYmVsbCBzdHJhdGVneSAoNzAtODAlIGhpZ2ggY29udmljdGlvbiwgMjAtMzAlXG4gIGV4cGxvcmF0b3J5KS5cblxuICBIb3cgaXQgd29ya3M6XG4gIC0gRXZlcnkgNDggaG91cnMsIHRoZSBBSSByZS1zY29yZXMgYWxsIGVsaWdpYmxlIHZhdWx0cyBhbmQgcmViYWxhbmNlcyB0aGUgcG9ydGZvbGlvXG4gIC0gRGFpbHkgc2V0dGxlbWVudCBhdCAxNDowMCBVVEMgcHJvY2Vzc2VzIGRlcG9zaXRzIGFuZCB3aXRoZHJhd2FscyBvbi1jaGFpblxuICAtIEF1dG9tYXRlZCB0YWtlLXByb2ZpdCBhbmQgZXhpdCBsb2dpYzogdmF1bHRzIHdpdGggUk9FID49IDEwJSBnZXQgdHJpbW1lZCwgaW5hY3RpdmUgdmF1bHRzIGFyZSBmdWxseSBleGl0ZWRcbiAgLSBOQVYgaXMgcmVwb3J0ZWQgb24tY2hhaW4gYWZ0ZXIgZWFjaCBzZXR0bGVtZW50IGN5Y2xlXG5cbiAgT24tY2hhaW4gY29udHJhY3Q6IDB4YjYwOTlkNDU0NTE1NmY4QUNBMUE4RWE3Q0FBMDc2MkQ4MTY5NzgwOSAoSHlwZXJFVk0pXG4gIFNoYXJlIHRva2VuOiBWNEZVTkQgKEVSQy0yMCwgdHJhbnNmZXJhYmxlKVxuICBVc2VycyBkZXBvc2l0IFVTREMsIHJlY2VpdmUgVjRGVU5EIHNoYXJlcyByZXByZXNlbnRpbmcgdGhlaXIgcHJvLXJhdGEgY2xhaW0gb24gdmF1bHQgYXNzZXRzLlxuXG4gIFB1YmxpYyBBUEk6IHZhdWx0LTQueHl6L2FwaS9zdHJhdGVneSAoZnJlZSkgYW5kIHZhdWx0LTQueHl6L2FwaS9zdHJhdGVneS9wcmVtaXVtICh4NDAyIG1pY3JvcGF5bWVudC1nYXRlZCBhdCAkMC4wMSBVU0RDIG9uIEJhc2UpLiIsCiAgImltYWdlIjogImh0dHBzOi8vYmxvYi44MDA0c2Nhbi5hcHAvYzc0OTMxZDc5ZGNlZmRlNzRmZjc2M2Q2YTdlNzdlNGM0ODJjNDUxMzRmY2ZkYTk3M2UzNzQ5Mjc0YWZjODUxNi5qcGciLAogICJzZXJ2aWNlcyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiT0FTRiIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWdudGN5L29hc2YvIiwKICAgICAgInNraWxscyI6IFtdLAogICAgICAiZG9tYWlucyI6IFsKICAgICAgICAiZmluYW5jZV9hbmRfYnVzaW5lc3MvZmluYW5jZSIKICAgICAgXQogICAgfQogIF0sCiAgInJlZ2lzdHJhdGlvbnMiOiBbXSwKICAic3VwcG9ydGVkVHJ1c3RzIjogW10sCiAgImFjdGl2ZSI6IHRydWUsCiAgIng0MDJzdXBwb3J0IjogdHJ1ZQp9
checked at 2026-10-07T09:53:37.198496Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1599
- body_sha256
- 28b2bfec2ca878f225015cf81611f7c9a289e6fecceaff25ba7cfd8515f3162a
- content_type
- —
checked at 2026-10-07T09:53:37.198496Z
Follows the spec?rung 4 · conformant
passThe document meets what ERC-8004 requires of it.
passed
- both_fields_present
- false
- legacy_endpoints_field
- false
- may_gaps
- x402Support, supportedTrust
- must_violations
- (empty)
- registrations_checked
- 0
- services_field_source
- services
- services_status
- present
- should_gaps
- services[].version, registrations
- spec_commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
checked at 2026-10-07T09:53:37.198496Z
Claims its identity?rung 5 · bound
unclaimedThe document names the on-chain agent it belongs to, rather than leaving it unsaid.
unclaimed — the document made no claim to check
- declared_agent_id
- —
- declared_chain
- —
- declared_registry
- —
- match
- —
- reason
- unclaimed
- registrations_seen
- 0
checked at 2026-10-07T09:53:37.198496Z
Answers?rung 6 · live
passA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
passed
- endpoints
{"declared":"https://github.com/agntcy/oasf/","elapsed_ms":1377,"final_url":"https://github.com/agntcy/oasf/","http_stat… (245 chars — expand)
{"declared":"https://github.com/agntcy/oasf/","elapsed_ms":1377,"final_url":"https://github.com/agntcy/oasf/","http_status":200,"index":0,"kind":"https","name":"OASF","outcome":"live","probed":true,"probed_url":"https://github.com/agntcy/oasf/"}- endpoints_answered_not_live
- 0
- endpoints_declared
- 1
- endpoints_live
- 1
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 1
- endpoints_probed
- 1
- endpoints_refused
- 0
checked at 2026-10-07T19:37:51.488079Z
Has feedback?rung 7 · attested
failAt least one on-chain feedback entry names this agent.
did not pass
- distinct_authors
- 0
- feedback_count
- 0
- reason
- no_feedback
checked at 2026-10-07T09:53:37.198496Z
Check it again, now
outside the censusOn-chain snapshot
base- token id
- 33782
- owner
- 0x60a5d9eae0a5c3ec0b2c163c659055b5fa7045a1
- block
- 52,281,733
- observed
- 2026-10-07T09:53:37.200635Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 1,599 bytes
- sha256
- 28b2bfec2ca878f225015cf81611f7c9a289e6fecceaff25ba7cfd8515f3162a
- elapsed
- 0 ms
This run
reproducible- run
- c67de707-a82d-4589-8936-acd5a584c720
- chain
- base
- pinned block
- 52,281,733
- agents
- 98,319
- started
- 2026-10-07T06:00:13.662398Z
- finished
- 2026-10-07T19:18:37.899751Z
- checker
- 0.7.0 · 10238dd9af44dfa032e6578390569a413a6bb393
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- base # at block 52281733