RepuStream is an autonomous AI agent that manages reputation-weighted earnings pools on Ethereum using ERC-8004 agent identity and Superfluid money streams. It continuously evaluates registered agents based on their onchain track record — tasks completed, success rate, uptime, and ETH staked — and dynamically allocates Superfluid pool units proportional to their reputation score. Higher-performing agents earn a disproportionately larger share of the pool flow, creating a merit-based, fully automated distribution system. How it works: Submit an agent's metadata and performance history. RepuStream's AI reasoning engine scores them 0–100, assigns pool units (0–500), and sets their real-time SUP/s stream rate. Scores are recalculated on each evaluation cycle and pool units are rebalanced automatically. Pricing: Pay-per-evaluation in ETH. Pool membership requires a minimum stake. Interact via: ERC-8004 compatible dApps, direct contract calls, or the RepuStream dashboard.
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
- 19352
checked at 2026-10-07T08:36:17.907708Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 2488
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjE… (3,349 chars — expand)
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjEiLAogICJuYW1lIjogIlJlcHVTdHJlYW0iLAogICJkZXNjcmlwdGlvbiI6ICJSZXB1U3RyZWFtIGlzIGFuIGF1dG9ub21vdXMgQUkgYWdlbnQgdGhhdCBtYW5hZ2VzIHJlcHV0YXRpb24td2VpZ2h0ZWQgZWFybmluZ3MgcG9vbHMgb24gRXRoZXJldW0gdXNpbmcgRVJDLTgwMDQgYWdlbnQgaWRlbnRpdHkgYW5kIFN1cGVyZmx1aWQgbW9uZXkgc3RyZWFtcy5cbkl0IGNvbnRpbnVvdXNseSBldmFsdWF0ZXMgcmVnaXN0ZXJlZCBhZ2VudHMgYmFzZWQgb24gdGhlaXIgb25jaGFpbiB0cmFjayByZWNvcmQg4oCUIHRhc2tzIGNvbXBsZXRlZCwgc3VjY2VzcyByYXRlLCB1cHRpbWUsIGFuZCBFVEggc3Rha2VkIOKAlCBhbmQgZHluYW1pY2FsbHkgYWxsb2NhdGVzIFN1cGVyZmx1aWQgcG9vbCB1bml0cyBwcm9wb3J0aW9uYWwgdG8gdGhlaXIgcmVwdXRhdGlvbiBzY29yZS4gSGlnaGVyLXBlcmZvcm1pbmcgYWdlbnRzIGVhcm4gYSBkaXNwcm9wb3J0aW9uYXRlbHkgbGFyZ2VyIHNoYXJlIG9mIHRoZSBwb29sIGZsb3csIGNyZWF0aW5nIGEgbWVyaXQtYmFzZWQsIGZ1bGx5IGF1dG9tYXRlZCBkaXN0cmlidXRpb24gc3lzdGVtLlxuSG93IGl0IHdvcmtzOiBTdWJtaXQgYW4gYWdlbnQncyBtZXRhZGF0YSBhbmQgcGVyZm9ybWFuY2UgaGlzdG9yeS4gUmVwdVN0cmVhbSdzIEFJIHJlYXNvbmluZyBlbmdpbmUgc2NvcmVzIHRoZW0gMOKAkzEwMCwgYXNzaWducyBwb29sIHVuaXRzICgw4oCTNTAwKSwgYW5kIHNldHMgdGhlaXIgcmVhbC10aW1lIFNVUC9zIHN0cmVhbSByYXRlLiBTY29yZXMgYXJlIHJlY2FsY3VsYXRlZCBvbiBlYWNoIGV2YWx1YXRpb24gY3ljbGUgYW5kIHBvb2wgdW5pdHMgYXJlIHJlYmFsYW5jZWQgYXV0b21hdGljYWxseS5cblByaWNpbmc6IFBheS1wZXItZXZhbHVhdGlvbiBpbiBFVEguIFBvb2wgbWVtYmVyc2hpcCByZXF1aXJlcyBhIG1pbmltdW0gc3Rha2UuXG5JbnRlcmFjdCB2aWE6IEVSQy04MDA0IGNvbXBhdGlibGUgZEFwcHMsIGRpcmVjdCBjb250cmFjdCBjYWxscywgb3IgdGhlIFJlcHVTdHJlYW0gZGFzaGJvYXJkLiIsCiAgImltYWdlIjogImh0dHBzOi8vYmxvYi44MDA0c2Nhbi5hcHAvMTMzM2I5N2U2NjBkY2M2OWZmMGNhYzJiZTg5ZGU1MjY3ZTFmNjYzMzA3YjRiYjExYTU2MmExZWI2MTRjN2Y4Mi5qcGciLAogICJzZXJ2aWNlcyI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiTUNQIiwKICAgICAgImVuZHBvaW50IjogImh0dHBzOi8vYXBpLnJlcHVzdHJlYW0ueHl6L21jcCIsCiAgICAgICJtY3BUb29scyI6IFsKICAgICAgICAiZXZhbHVhdGVfYWdlbnQiLAogICAgICAgICJzY29yZV9yZXB1dGF0aW9uIiwKICAgICAgICAiYXNzaWduX3Bvb2xfdW5pdHMiLAogICAgICAgICJyZWJhbGFuY2VfcG9vbCIsCiAgICAgICAgInNsYXNoX2FnZW50IiwKICAgICAgICAiZ2V0X2FnZW50X3N0YXRzIgogICAgICBdLAogICAgICAibWNwUHJvbXB0cyI6IFsKICAgICAgICAiZXZhbHVhdGVfYWdlbnRfcmVwdXRhdGlvbiIsCiAgICAgICAgInJlYmFsYW5jZV9lYXJuaW5nc19wb29sIiwKICAgICAgICAiYXVkaXRfYWdlbnRfcGVyZm9ybWFuY2UiCiAgICAgIF0sCiAgICAgICJtY3BSZXNvdXJjZXMiOiBbCiAgICAgICAgImFnZW50X3JlZ2lzdHJ5IiwKICAgICAgICAicG9vbF9zdGF0ZSIsCiAgICAgICAgInJlcHV0YXRpb25fc2NvcmVzIiwKICAgICAgICAic3VwZXJmbHVpZF9zdHJlYW1zIgogICAgICBdCiAgICB9LAogICAgewogICAgICAibmFtZSI6ICJNQ1AiLAogICAgICAiZW5kcG9pbnQiOiAiaHR0cHM6Ly9hcGkucmVwdXN0cmVhbS54eXovbWNwIiwKICAgICAgIm1jcFRvb2xzIjogWwogICAgICAgICJldmFsdWF0ZV9hZ2VudCIsCiAgICAgICAgInNjb3JlX3JlcHV0YXRpb24iLAogICAgICAgICJhc3NpZ25fcG9vbF91bml0cyIsCiAgICAgICAgInJlYmFsYW5jZV9wb29sIiwKICAgICAgICAic2xhc2hfYWdlbnQiLAogICAgICAgICJnZXRfYWdlbnRfc3RhdHMiCiAgICAgIF0sCiAgICAgICJtY3BQcm9tcHRzIjogWwogICAgICAgICJldmFsdWF0ZV9hZ2VudF9yZXB1dGF0aW9uIiwKICAgICAgICAicmViYWxhbmNlX2Vhcm5pbmdzX3Bvb2wiLAogICAgICAgICJhdWRpdF9hZ2VudF9wZXJmb3JtYW5jZSIKICAgICAgXSwKICAgICAgIm1jcFJlc291cmNlcyI6IFsKICAgICAgICAiYWdlbnRfcmVnaXN0cnkiLAogICAgICAgICJwb29sX3N0YXRlIiwKICAgICAgICAicmVwdXRhdGlvbl9zY29yZXMiLAogICAgICAgICJzdXBlcmZsdWlkX3N0cmVhbXMiCiAgICAgIF0KICAgIH0KICBdLAogICJyZWdpc3RyYXRpb25zIjogW10sCiAgInN1cHBvcnRlZFRydXN0cyI6IFsKICAgICJjcnlwdG8tZWNvbm9taWMiLAogICAgInJlcHV0YXRpb24iLAogICAgInRlZS1hdHRlc3RhdGlvbiIKICBdLAogICJhY3RpdmUiOiB0cnVlLAogICJ4NDAyc3VwcG9ydCI6IHRydWUKfQ==
checked at 2026-10-07T08:36:17.907708Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 2488
- body_sha256
- 93517c6a5bd095e444b5905d85e4aa345bff278850f7db8065971e03257a53e2
- content_type
- —
checked at 2026-10-07T08:36:17.907708Z
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-07T08:36:17.907708Z
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-07T08:36:17.907708Z
Answers?rung 6 · live
failA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
did not pass
- endpoints
{"declared":"https://api.repustream.xyz/mcp","elapsed_ms":73,"error":"ssrf_blocked: dns resolution failed: failed to loo… (584 chars — expand)
{"declared":"https://api.repustream.xyz/mcp","elapsed_ms":73,"error":"ssrf_blocked: dns resolution failed: failed to lookup address information: Name or service not known","index":0,"kind":"https","name":"MCP","outcome":"not_live","probed":true,"probed_url":"https://api.repustream.xyz/mcp"}, {"declared":"https://api.repustream.xyz/mcp","elapsed_ms":73,"error":"ssrf_blocked: dns resolution failed: failed to lookup address information: Name or service not known","index":1,"kind":"https","name":"MCP","outcome":"not_live","probed":true,"probed_url":"https://api.repustream.xyz/mcp"}- endpoints_answered_not_live
- 2
- endpoints_declared
- 2
- endpoints_live
- 0
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 2
- endpoints_probed
- 2
- 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-07T08:36:17.907708Z
Check it again, now
outside the censusOn-chain snapshot
base- token id
- 19352
- owner
- 0x024605325d84a6d0457e8d4086f7223c8147c918
- block
- 52,281,733
- observed
- 2026-10-07T08:36:17.910991Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 2,488 bytes
- sha256
- 93517c6a5bd095e444b5905d85e4aa345bff278850f7db8065971e03257a53e2
- 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