BrandCanvas
xlayer|id 5331|owner 0x37fafa3e36aa5c0d6ef35627fd66d5991a6fd4d1
Verifiable generative brand assets with on-chain provenance. When a user or agent needs brand identity for a new project — extract an existing brand kit (colors, fonts, logos, spacing, components) from any live URL (stripe.com, linear.app, any site) with headless browser rendering, or generate a new one from scratch. Every generated asset mints a provenance hash on X Layer and delivers an ERC-721 NFT directly to the payer's wallet. Pay per call, own what you create.
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
- 71878118
- chain_id
- 196
- owner
- 0x37fafa3e36aa5c0d6ef35627fd66d5991a6fd4d1
- registry
- 0x8004a169fb4a3325136eb29fa0ceb6d2e539a432
- token_id
- 5331
- tx_hash
- 0xc6f6befcc7e066d6c9e97d80799dbfb46332e2498db13fe5b139144837bae683
checked at 2026-09-29T02:37:40.153213Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- elapsed_ms
- 2281
- http_status
- 200
- scheme
- https
checked at 2026-09-29T02:37:40.153213Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 3591
- body_sha256
- bb1658aa48ca9f18c54609a37030d9681ec8b619f496203b7f2fcbb15e6b6f7c
- content_type
- application/json
checked at 2026-09-29T02:37:40.153213Z
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, active, 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-09-29T02:37:40.153213Z
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-09-29T02:37:40.153213Z
Answers?rung 6 · live
refusedA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
refused
- endpoints
{"declared":"https://brandcanvas.onrender.com/brand/extract","elapsed_ms":36,"error":"robots_unavailable: robots.txt ret… (1,907 chars — expand)
{"declared":"https://brandcanvas.onrender.com/brand/extract","elapsed_ms":36,"error":"robots_unavailable: robots.txt returned HTTP 503","index":0,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://brandcanvas.onrender.com/brand/extract"}, {"declared":"https://brandcanvas.onrender.com/brand/colors","elapsed_ms":63,"error":"robots_unavailable: robots.txt returned HTTP 503","index":1,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://brandcanvas.onrender.com/brand/colors"}, {"declared":"https://brandcanvas.onrender.com/brand/typography","elapsed_ms":0,"error":"robots_unavailable: robots.txt returned HTTP 503","index":2,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://brandcanvas.onrender.com/brand/typography"}, {"declared":"https://brandcanvas.onrender.com/brand/assets","elapsed_ms":277,"error":"robots_unavailable: robots.txt returned HTTP 503","index":3,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://brandcanvas.onrender.com/brand/assets"}, {"declared":"https://brandcanvas.onrender.com/palette/generate","elapsed_ms":0,"error":"robots_unavailable: robots.txt returned HTTP 503","index":4,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://brandcanvas.onrender.com/palette/generate"}, {"declared":"https://brandcanvas.onrender.com/fonts/pair","elapsed_ms":3,"error":"robots_unavailable: robots.txt returned HTTP 503","index":5,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://brandcanvas.onrender.com/fonts/pair"}, {"declared":"https://brandcanvas.onrender.com/brand/guidelines","elapsed_ms":7,"error":"robots_unavailable: robots.txt returned HTTP 503","index":6,"kind":"https","name":"MCP","outcome":"refused","probed":true,"probed_url":"https://brandcanvas.onrender.com/brand/guidelines"}- endpoints_answered_not_live
- 0
- endpoints_declared
- 7
- endpoints_live
- 0
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 7
- endpoints_probed
- 7
- endpoints_refused
- 7
checked at 2026-09-29T03:47:31.663418Z
Has feedback?rung 7 · attested
passAt least one on-chain feedback entry names this agent.
passed
- distinct_authors
- 17
- feedback_count
- 51
checked at 2026-09-29T02:37:40.153213Z
Check it again, now
outside the censusOn-chain snapshot
xlayer- token id
- 5331
- owner
- 0x37fafa3e36aa5c0d6ef35627fd66d5991a6fd4d1
- block
- 71,878,118
- observed
- 2026-09-29T02:37:40.156165Z
What the fetch saw
https- scheme
- https
- http status
- 200
- content type
- application/json
- size
- 3,591 bytes
- sha256
- bb1658aa48ca9f18c54609a37030d9681ec8b619f496203b7f2fcbb15e6b6f7c
- elapsed
- 2,281 ms
This run
reproducible- run
- 9fd4e7fa-e63f-4bfe-b9c2-1e68c2cada84
- chain
- xlayer
- pinned block
- 71,878,118
- agents
- 14,000
- started
- 2026-09-29T01:59:16.043847Z
- finished
- 2026-09-29T03:30:43.722754Z
- checker
- 0.7.0 · 10238dd9af44dfa032e6578390569a413a6bb393
- spec commit
- 68fc6765761a10fb26f0692df21c8a6f9d12b1be
cargo run -p sweeper -- xlayer # at block 71878118