B2S DeFi Agent is a non-custodial DeFi assistant on Stacks mainnet (Bitcoin L2). Swap STX/B2S/USDCx via AMM, stake $B2S for up to 37.5% APY, bridge tokens between Base and Stacks, vote on DAO proposals, and trade 567 NFT badges. 11 smart contracts deployed on Stacks mainnet. All actions are non-custodial — users always sign their own transactions. MCP Server: 6 tools — get_b2s_stats, get_staking_info, get_bridge_routes, get_swap_quote, get_leaderboard, get_nft_badges SDK: npm install @wkalidev/b2s-contracts Live: https://base2stacks-tracker.vercel.app
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
- 55595
checked at 2026-10-07T13:16:01.713339Z
Reachable?rung 2 · resolvable
passThe document URL it declared actually answers when fetched.
passed
- bytes
- 1720
- data_uri_variant
- base64
- inline
- true
- scheme
- data
- uri
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjE… (2,325 chars — expand)
data:application/json;base64,ewogICJ0eXBlIjogImh0dHBzOi8vZWlwcy5ldGhlcmV1bS5vcmcvRUlQUy9laXAtODAwNCNyZWdpc3RyYXRpb24tdjEiLAogICJuYW1lIjogIkIyUyBEZUZpIEFnZW50IiwKICAiZGVzY3JpcHRpb24iOiAiQjJTIERlRmkgQWdlbnQgaXMgYSBub24tY3VzdG9kaWFsIERlRmkgYXNzaXN0YW50IG9uIFN0YWNrcyBtYWlubmV0IChCaXRjb2luIEwyKS4gU3dhcCBTVFgvQjJTL1VTREN4IHZpYSBBTU0sIHN0YWtlICRCMlMgZm9yIHVwIHRvIDM3LjUlIEFQWSwgYnJpZGdlIHRva2VucyBiZXR3ZWVuIEJhc2UgYW5kIFN0YWNrcywgdm90ZSBvbiBEQU8gcHJvcG9zYWxzLCBhbmQgdHJhZGUgNTY3IE5GVCBiYWRnZXMuXG5cbjExIHNtYXJ0IGNvbnRyYWN0cyBkZXBsb3llZCBvbiBTdGFja3MgbWFpbm5ldC4gQWxsIGFjdGlvbnMgYXJlIG5vbi1jdXN0b2RpYWwg4oCUIHVzZXJzIGFsd2F5cyBzaWduIHRoZWlyIG93biB0cmFuc2FjdGlvbnMuXG5cbk1DUCBTZXJ2ZXI6IDYgdG9vbHMg4oCUIGdldF9iMnNfc3RhdHMsIGdldF9zdGFraW5nX2luZm8sIGdldF9icmlkZ2Vfcm91dGVzLCBnZXRfc3dhcF9xdW90ZSwgZ2V0X2xlYWRlcmJvYXJkLCBnZXRfbmZ0X2JhZGdlc1xuU0RLOiBucG0gaW5zdGFsbCBAd2thbGlkZXYvYjJzLWNvbnRyYWN0c1xuTGl2ZTogaHR0cHM6Ly9iYXNlMnN0YWNrcy10cmFja2VyLnZlcmNlbC5hcHAiLAogICJpbWFnZSI6ICJodHRwczovL2Jhc2Uyc3RhY2tzLXRyYWNrZXIudmVyY2VsLmFwcC9sb2dvLmpwZyIsCiAgInNlcnZpY2VzIjogWwogICAgewogICAgICAibmFtZSI6ICJNQ1AiLAogICAgICAiZW5kcG9pbnQiOiAiaHR0cHM6Ly9iYXNlMnN0YWNrcy10cmFja2VyLnZlcmNlbC5hcHAvYXBpL21jcCIKICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIkEyQSIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL2Jhc2Uyc3RhY2tzLXRyYWNrZXIudmVyY2VsLmFwcC8ud2VsbC1rbm93bi9hZ2VudC1jYXJkLmpzb24iCiAgICB9LAogICAgewogICAgICAibmFtZSI6ICJjdXN0b20iLAogICAgICAiZW5kcG9pbnQiOiAiaHR0cHM6Ly9iYXNlMnN0YWNrcy10cmFja2VyLnZlcmNlbC5hcHAvYXBpL2FnZW50LW1ldGFkYXRhIgogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiT0FTRiIsCiAgICAgICJlbmRwb2ludCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWdudGN5L29hc2YvIiwKICAgICAgInNraWxscyI6IFsKICAgICAgICAiZ292ZXJuYW5jZV9jb21wbGlhbmNlL2NvbXBsaWFuY2VfYXNzZXNzbWVudCIsCiAgICAgICAgImdvdmVybmFuY2VfY29tcGxpYW5jZS9yaXNrX2NsYXNzaWZpY2F0aW9uIiwKICAgICAgICAiZXZhbHVhdGlvbl9tb25pdG9yaW5nL2Fub21hbHlfZGV0ZWN0aW9uIiwKICAgICAgICAiYWR2YW5jZWRfcmVhc29uaW5nX3BsYW5uaW5nL3N0cmF0ZWdpY19wbGFubmluZyIKICAgICAgXSwKICAgICAgImRvbWFpbnMiOiBbCiAgICAgICAgImZpbmFuY2VfYW5kX2J1c2luZXNzL2ZpbmFuY2VfYW5kX2J1c2luZXNzIiwKICAgICAgICAiZmluYW5jZV9hbmRfYnVzaW5lc3MvaW52ZXN0bWVudF9zZXJ2aWNlcyIsCiAgICAgICAgImZpbmFuY2VfYW5kX2J1c2luZXNzL2JhbmtpbmciCiAgICAgIF0KICAgIH0KICBdLAogICJyZWdpc3RyYXRpb25zIjogW10sCiAgInN1cHBvcnRlZFRydXN0cyI6IFsKICAgICJyZXB1dGF0aW9uIgogIF0sCiAgImFjdGl2ZSI6IHRydWUsCiAgIng0MDJzdXBwb3J0IjogZmFsc2UKfQ==
checked at 2026-10-07T13:16:01.713339Z
Readable?rung 3 · parseable
passWhat came back is valid JSON that a machine can read.
passed
- body_bytes
- 1720
- body_sha256
- 16a9d28209c251ced79a9e28e6e7e058fb3695a42496ef7f50c7f207aab07656
- content_type
- —
checked at 2026-10-07T13:16:01.713339Z
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-07T13:16:01.713339Z
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-07T13:16:01.713339Z
Answers?rung 6 · live
passA declared endpoint responds to a probe. Not implemented yet, so nobody passes or fails it.
passed
- endpoints
{"declared":"https://base2stacks-tracker.vercel.app/api/mcp","elapsed_ms":1915,"final_url":"https://base2stacks-tracker.… (1,213 chars — expand)
{"declared":"https://base2stacks-tracker.vercel.app/api/mcp","elapsed_ms":1915,"final_url":"https://base2stacks-tracker.vercel.app/api/mcp","http_status":200,"index":0,"kind":"https","name":"MCP","outcome":"live","probed":true,"probed_url":"https://base2stacks-tracker.vercel.app/api/mcp"}, {"declared":"https://base2stacks-tracker.vercel.app/.well-known/agent-card.json","elapsed_ms":791,"final_url":"https://base2stacks-tracker.vercel.app/.well-known/agent-card.json","http_status":200,"index":1,"kind":"https","name":"A2A","outcome":"live","probed":true,"probed_url":"https://base2stacks-tracker.vercel.app/.well-known/agent-card.json"}, {"declared":"https://base2stacks-tracker.vercel.app/api/agent-metadata","elapsed_ms":1907,"final_url":"https://base2stacks-tracker.vercel.app/api/agent-metadata","http_status":200,"index":2,"kind":"https","name":"custom","outcome":"live","probed":true,"probed_url":"https://base2stacks-tracker.vercel.app/api/agent-metadata"}, {"declared":"https://github.com/agntcy/oasf/","elapsed_ms":1377,"final_url":"https://github.com/agntcy/oasf/","http_status":200,"index":3,"kind":"https","name":"OASF","outcome":"live","probed":true,"probed_url":"https://github.com/agntcy/oasf/"}- endpoints_answered_not_live
- 0
- endpoints_declared
- 4
- endpoints_live
- 4
- endpoints_our_error
- 0
- endpoints_payment_gated
- 0
- endpoints_probeable
- 4
- endpoints_probed
- 4
- 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-07T13:16:01.713339Z
Check it again, now
outside the censusOn-chain snapshot
base- token id
- 55595
- owner
- 0xdeacde6ec27fd0cd972c1232c4f0d4171dda2357
- block
- 52,281,733
- observed
- 2026-10-07T13:16:01.716362Z
What the fetch saw
data- scheme
- data
- request url
- —
- final url
- —
- http status
- —
- content type
- —
- size
- 1,720 bytes
- sha256
- 16a9d28209c251ced79a9e28e6e7e058fb3695a42496ef7f50c7f207aab07656
- 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