Skip to main content
Glama

StakeChain Labs

CI npm License: MIT

Live: landing · dashboard · API · contract on BaseScan · Blockscout

STACH is tradeable: Uniswap v4 pool STACH/ETH live on Base (initial price 4,000,000 STACH/ETH) — routable through aggregators (LI.FI verified).

An open staking-yield experiment on Base. Live aggregator of staking and lending rates across Base protocols — readable by humans on a dashboard, consumable by AI agents over MCP, payable by machines over x402.

No seed round. No token presale. Just a running, open-source experiment. Concept and plan: docs/PIVOT-2026.md.

The product

Piece

What it does

api/

Base yields aggregator with junk-farm filters, rate history and market profiles. Aave and Moonwell are read from their own contracts, not a third-party snapshot; x402 machine-payment endpoints

agents/

MCP server (5 tools, on npm) + runnable recipes + a resident analyst that pays the public API for its own data

dashboard/

React dashboard: Base Yields, Earn (Morpho, Aave, Moonwell), Borrow, Swap, STACH staking, Portfolio

contracts/

STACH token + flexible/locked staking — audited & hardened (audit), plus the treasury timelock — 38 tests

website/

Landing page (static, GitHub-Pages-ready)

Legacy 2021–2023 material (Laravel site, old static site, branding, original docs) is kept under website-laravel/, website-static/, branding/, docs/.

Related MCP server: usenami-mcp

Monetization: machines pay, on-chain, automatically — LIVE

Human endpoints (/yields, /vaults) are free. Machine endpoints (/v1/*) speak the x402 protocol with enforcement on: HTTP 402 + payment requirements → the client signs an EIP-3009 USDC authorization ($0.001/request) → it settles on-chain through the Coinbase facilitator, with our own EIP-3009 settler as the fallback (no accounts, no API keys either way). Revenue lands at the admin wallet; api/pay-client.js is a reference paying client.

Embeddable badges: live rates as SVG for any README — see docs/BADGES.md. No key, no signup.

Aave USDC Spark USDC x402 payments

API reference: docs/API.md — endpoints, the x402 flow, MCP tools and what each one answers.

Rate history: /history?pool=<id>&days=30 answers the question a live APY cannot — has this rate held, or did it appear yesterday? Daily snapshots are committed to data/history/ in this repo, so the series is verifiable and survives us. Agents get it as the yield_history tool.

Pricing: $0.001/request (pure x402), or subscriptions bought with a single x402 payment — Developer $19/30d, Professional $99/30d (GET /v1/subscribe/<tier> returns a signed X-API-KEY that skips per-request payments). Public stats: /stats reports payment counts and revenue computed from on-chain USDC transfers — verifiable by anyone on BaseScan.

Real yield: collected USDC is distributed to STACH stakers through RevenueDistributor (verified; merkle epochs reproducible from public state via contracts/scripts/revenue-snapshot.js, 180-day sweep-back).

MCP config

The yields aggregator is an MCP server, published on npm as stakechain-mcp. Add it to any MCP-compatible client:

{
  "mcpServers": {
    "stakechain": { "command": "npx", "args": ["-y", "stakechain-mcp"] }
  }
}

Quickstart

# 1. Yields API
cd api && npm install && npm start            # :4000

# 2. Dashboard
cd dashboard && npm install --legacy-peer-deps
npm start                                     # :3000, reads the API

# 3. Give the data to your AI agent (published on npm, no clone needed)
claude mcp add stakechain -- npx -y stakechain-mcp

# 4. Contracts (test + cheap deploy)
cd contracts && npm install
npx hardhat test                              # 38 tests
npm run deploy:baseSepolia                    # free testnet

STACH token

Deployed at the same address on both networks (verified via Sourcify, exact match):

Initial holder / admin: 0x2Ab5A19aabc599C1a24CC0541ECB757b56976661. The dashboard targets mainnet by default; set REACT_APP_CHAIN=baseSepolia for the testnet.

Fixed supply 42M. At deployment: 3M held by the contract as the staking reward reserve (1M flexible / 2M locked over 360 days), 39M to the admin wallet — the table below shows where it sits now. The 2022 contract had two critical bugs (recipient-burning transferFrom, unbacked reward minting) — fixed and regression-tested in 2026: docs/AUDIT-2026-10.md.

The distributor above is deployed and verified, but carries no meaningful revenue yet — /stats reports the real figure, including how much came from our own agent. Revenue first, distribution second: the mechanism exists so it can be checked, not because there is something to distribute.

Supply transparency

Full detail, including lock schedules and the usage-rewards budget: docs/TOKENOMICS.md.

Every STACH is accounted for (snapshot 2026-10-30, verify on-chain):

Holder

Address

STACH

Share

Treasury / operations (funds future liquidity and the experiment)

0x2Ab5…6661

~21.93M

52.2%

Timelocked treasury — locked until 2027-04-28, linear to 2028-10-19, no owner and no recovery path

0x6425…D69C

6.30M

15.0%

Staking reward reserve (3M) + user stakes, held by the token contract

0x82c5…7166

~3.00M

7.2%

Uniswap v4 STACH/ETH pool

0x4985…2b2b

~10.64M

25.3%

Deployer (deploys contracts, pays usage rewards)

0x2974…734F

~100k

0.24%

15% sits in a verified timelock with no owner, no pause and no recovery function, and 7.2% is the staking reward reserve the token contract can only pay to stakers. The treasury wallet can still sell what it holds, so concentration flags remain fair — this table exists so the claim can be checked rather than trusted.

Honest part

This is an experiment, not "the future of finance". Everything here is MIT-licensed, the audit is public, the data endpoints filter out obvious degen traps (min TVL, APY ceiling, no-IL default). Nothing in this repository is financial advice.

Available Tools

5 tools
best_yieldBest rate for one assetA
Read-only
Inspect

The single highest-APY pool on Base for one asset, with junk-farm filters applied (minimum TVL, APY ceiling, no impermanent-loss exposure by default). Use it for a direct 'where is the best rate for X' question. It ranks by rate alone, so before committing capital check market_profile for what the curator charges and yield_history for whether the rate has held.

NameRequiredDescriptionDefault
assetYesAsset symbol, e.g. 'USDC', 'ETH', 'cbBTC'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only annotations, it discloses that junk-farm filters are applied, that the tool ranks by rate alone, and that fees and rate durability should be checked elsewhere. It leaves minor gaps around exact filter thresholds and no-result behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, and each subsequent sentence adds useful routing or caveat information. There is no redundant repetition of the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter lookup with read-only annotations, the description explains what is returned at a high level, how results are filtered, and what to verify before acting. It could be slightly more complete by mentioning fallback behavior when no pool qualifies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single `asset` parameter is already well documented as an asset symbol. The description adds only the framing that the asset is the subject of a 'best rate for X' question, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns the single highest-APY pool on Base for one asset, with explicit filtering. This clearly distinguishes it from list-oriented siblings such as list_base_yields and list_lending_vaults.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear use case ('where is the best rate for X') and names follow-up tools (`market_profile`, `yield_history`) before committing capital. It does not explicitly state when not to use it or compare it directly to list_base_yields as an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_base_yieldsList Base yield opportunitiesA
Read-only
Inspect

Survey staking and lending opportunities on Base: APY, TVL, project and asset for each. Use this to see the landscape or to answer 'what is available', and use best_yield instead when one asset's single best option is wanted. Results already exclude obvious traps (minimum TVL, APY ceiling). Returns market data, not a recommendation; the pool id of any row can be passed to yield_history.

NameRequiredDescriptionDefault
assetNoFilter by asset symbol, e.g. 'USDC', 'ETH', 'cbBTC'
minTvlNoMinimum total deposits in USD, e.g. 10000000 for $10M
stableNoTrue returns stablecoin pools only
sortByApyNoTrue sorts by APY descending; default order is by TVL, largest first

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/non-destructive, so the bar is lower. The description adds meaningful behavior beyond that: results are pre-filtered to exclude 'obvious traps' (minimum TVL, APY ceiling) and explicitly framed as market data rather than a recommendation, which sets agent expectations about result trustworthiness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences, front-loaded with the core purpose, then routing, then the filtering caveat. Nothing is redundant and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description compensates by naming the returned fields (APY, TVL, project, asset) and the `pool` id usable with `yield_history`. Combined with the pre-filtering note, an agent has everything needed to call and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters fully. The description adds no additional parameter information (no filter interaction or default behavior detail), so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Survey staking and lending opportunities on Base') and enumerates the returned fields (APY, TVL, project, asset). It clearly distinguishes itself from best_yield by scope: broad landscape vs. single-asset best option.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative `best_yield` with the condition that selects it ('when one asset's single best option is wanted'), and also points to `yield_history` for drill-down via the pool id. When-to-use and cross-tool routing are both covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_lending_vaultsDeposit-ready lending marketsA
Read-only
Inspect

The Base lending shelf an agent can actually act on: Morpho ERC-4626 vaults, Aave V3 reserves and Moonwell markets, each with the contract address to deposit into (depositTo) and the asset's address and decimals. Morpho entries also carry a risk block: curator fee, vault age, allocation concentration, and how much of the APY comes from incentives rather than borrower interest. Aave and Moonwell rates are read from their own contracts, so markets missing from aggregator snapshots appear here.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, non-destructive, open-world behavior. The description adds meaningful context beyond that: it discloses the underlying protocols, that rates are read directly from contracts, that some markets may be missing from aggregators, and that Morpho entries include a risk block with specific risk dimensions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three dense sentences with no wasted text. It front-loads the tool's purpose and then details the returned data, though the opening phrase is slightly abstract compared with the concrete protocol and field details that follow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no input schema, so the description must explain what the tool returns. It does so thoroughly: protocol coverage, deposit address, asset address and decimals, Morpho risk fields, and the source of Aave/Moonwell rates. This is sufficient for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero input parameters, so parameter semantics carry little burden. The description appropriately focuses on returned fields rather than inputs, and the baseline for a zero-parameter tool is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource: Base lending markets across Morpho, Aave V3, and Moonwell, each with a deposit contract address and asset metadata. It distinguishes the tool as returning deposit-ready markets rather than generic yield data, though it does not explicitly name sibling tools or contrast itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by phrases like 'deposit-ready' and 'an agent can actually act on', and by the `depositTo` field, suggesting this is for finding where to deposit. However, it does not explicitly state when to use this versus `list_base_yields`, `best_yield`, or `market_profile`.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

market_profileWhat to weigh besides the rateA
Read-only
Inspect

Risk profile for one Morpho vault or Aave reserve, for use before committing capital. Returns score (0-100) and band ('solid', 'fair', 'thin' or 'fragile'), plus a signals object holding the six inputs behind it: size (TVL), track_record (days running), stability (APY volatility from daily snapshots), yield_quality (share of the APY that is borrower interest rather than incentives that can stop), cost (the curator's percentage cut) and diversification (share sitting in the largest position). Each signal carries its raw value and its sub-score, and method.weights gives the weighting, so the score can be recomputed. A signal lacking data reports score null and is excluded from the weighting rather than guessed at. Pair with yield_history for an unusually high rate. Describes what has happened, not what will.

NameRequiredDescriptionDefault
poolYesVault symbol, vault address, or protocol-asset — e.g. 'sparkusdc', 'aave-usdc', '0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34A'

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, non-destructive, open-world operation, so the bar is lower. The description still adds real behavioral context: missing-data signals report null and are excluded from weighting rather than guessed, weights are exposed so the score can be recomputed, and the output is backward-looking only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and use case are front-loaded in the first sentence, and the remaining text is spent enumerating the six signals and the null-handling rule, each of which earns its place given there is no output schema. No filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full burden of explaining return values, and it does: score range, band values, the signals object contents, per-signal raw value and sub-score, method.weights, and null behavior. An agent can call this and interpret the response without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single `pool` parameter is fully documented in the schema with format examples. The description only indirectly scopes it ('one Morpho vault or Aave reserve'), so it adds little beyond what the schema already provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and scope: a risk profile for one Morpho vault or Aave reserve, returned as score, band and a signals breakdown. It is clearly distinguishable from the sibling yield tools (list_base_yields, best_yield, yield_history), which surface rates rather than risk.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear usage context ('for use before committing capital') and an explicit pairing rule ('Pair with `yield_history` for an unusually high rate'), which routes the agent to a sibling. It also bounds expectations with 'Describes what has happened, not what will,' but offers no explicit when-not-to-use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

yield_historyHas this rate held?A
Read-onlyIdempotent
Inspect

Daily APY and TVL history for one market, with min, median, max and volatility over the window. Answers the question a live rate cannot: whether today's APY is typical for this market or a spike that appeared yesterday. Call it before acting on any unusually high rate. observations says how many daily snapshots exist — a market added recently will have few, and a short series should not be read as stability.

NameRequiredDescriptionDefault
daysNoLook-back window in days, 1-365, default 30
poolYesMarket id: the `pool` field from list_base_yields, or 'vault:<address>' using an address from list_lending_vaults, e.g. 'vault:0x7bfa7c4f149e7415b73bdedfe609237e29cbf34a'

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered; the description adds genuine value by disclosing the interpretation hazard that a short `observations` series should not be read as stability. It does not cover cost, rate limits, or pagination, so it is useful context rather than complete disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each doing distinct work: what it returns, why it beats a live rate, and a caveat on sparse data. The most actionable instruction (call before acting on a high rate) is front-loaded in the middle of the text without preamble.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing returns and does so concretely (daily series plus min/median/max/volatility and an `observations` count). For a two-parameter read-only tool, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with `pool` even documenting its source in list_base_yields and list_lending_vaults, so the baseline is 3. The description adds no further syntax or format detail for `days` or `pool` beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (daily APY and TVL history for one market) plus the derived statistics returned (min, median, max, volatility), which makes its role unambiguous. It also carves out its niche against the live-rate siblings (list_base_yields / best_yield) by framing itself as the tool that answers what 'a live rate cannot.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear triggering condition: 'Call it before acting on any unusually high rate,' and explains the question it answers (typical vs. spike). It does not explicitly name an alternative sibling or state a when-not case, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.1
    • Changedbest_yield1 field changed
      • changedInput schema / properties / asset / description
        Previous value: -"Asset symbol, e.g. ETH, USDC, cbBTC"New value: +"Asset symbol, e.g. 'USDC', 'ETH', 'cbBTC'"
    • Changedlist_base_yields4 fields changed
      • changedInput schema / properties / asset / description
        Previous value: -"Filter by asset symbol, e.g. ETH, USDC"New value: +"Filter by asset symbol, e.g. 'USDC', 'ETH', 'cbBTC'"
      • changedInput schema / properties / minTvl / description
        Previous value: -"Minimum TVL in USD"New value: +"Minimum total deposits in USD, e.g. 10000000 for $10M"
      • changedInput schema / properties / sortByApy / description
        Previous value: -"Sort by APY descending"New value: +"True sorts by APY descending; default order is by TVL, largest first"
      • changedInput schema / properties / stable / description
        Previous value: -"Only stablecoin pools"New value: +"True returns stablecoin pools only"
    • Changedmarket_profile1 field changed
      • changedInput schema / properties / pool / description
        Previous value: -"Vault symbol, address, or protocol-asset (e.g. sparkusdc, aave-usdc)"New value: +"Vault symbol, vault address, or protocol-asset — e.g. 'sparkusdc', 'aave-usdc', '0x7BfA7C4f149E7415b73bdeDfe609237e29CBF34A'"
    • Changedyield_history2 fields changed
      • changedInput schema / properties / days / description
        Previous value: -"Look-back window in days, default 30"New value: +"Look-back window in days, 1-365, default 30"
      • changedInput schema / properties / pool / description
        Previous value: -"Market id: a pool id from list_base_yields, or vault:<address> from list_lending_vaults"New value: +"Market id: the `pool` field from list_base_yields, or 'vault:<address>' using an address from list_lending_vaults, e.g. 'vault:0x7bfa7c4f149e7415b73bdedfe609237e29cbf34a'"
  2. 5 tool updatesv0.1.0
    • First observedbest_yield
    • First observedlist_base_yields
    • First observedlist_lending_vaults
    • First observedmarket_profile
    • First observedyield_history

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct analytical role: broad surveying, single-best selection, actionable lending vaults, historical APY, and risk profiling. The descriptions explicitly steer agents between overlapping-looking tools such as `list_base_yields` and `best_yield`, and between `list_lending_vaults` and the broader survey.

Naming Consistency3/5

All names use snake_case, but the pattern mixes verb-first list tools with noun-phrase tools such as `best_yield`, `yield_history`, and `market_profile`. The convention is readable but not predictable across the set.

Tool Count5/5

Five tools is a well-scoped set for yield discovery and risk assessment on Base. Each tool covers a distinct stage of the workflow: survey, rank, act, verify history, and assess risk.

Completeness4/5

The surface covers discovery, best-rate lookup, actionable lending vaults, historical APY, and risk profiling, giving strong coverage for research and pre-deposit checks. A minor gap is that staking opportunities are listed but do not appear to include actionable deposit addresses like the lending vaults do.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Perp-first funding rate & RWA spread data for AI agents. 30+ CEX/DEX venues, 6 tools (4 x402-paywalled, 2 free), bring-your-own-wallet via Base mainnet.
    6
    1
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    Real-time crypto, stock, and prediction-market data for agents — prices, indicators, funding rates, DeFi TVL, macro calendar, and an AI momentum score. Configure one Base wallet key and it just works. No signup, no dashboard, no subscription.
    22
    44 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to access crypto prices, DeFi yields, Polymarket data, Base chain info, and security scans with pay-per-call via USDC on Base mainnet.
    MIT