YieldSignal

Real-time, risk-weighted USDC and WETH lending APY across Aave, Compound, Morpho, Moonwell, Euler and Fluid on Base — paid per call via x402.

$0.01/call3 free/day per IP via ?trial=1no API key

REST

GET https://yieldsignal.vercel.app/signal/usdc-base-yield
GET https://yieldsignal.vercel.app/signal/weth-base-yield

Call it without payment and you'll get a 402 Payment Required with the exact price/asset/network. Any x402-compatible client (e.g. @x402/fetch) completes the payment automatically. Add ?trial=1 to use one of the 3 free daily calls per IP instead of paying.

MCP

POST https://yieldsignal.vercel.app/mcp

Tool get_yield_signal (optional asset: "USDC" or "WETH", defaults to USDC), gated per-call via @x402/mcptools/list/initialize stay free, only the tool call is paid.

Every reading is source-tagged

{
  "asset": "USDC",
  "bestProtocol": "compound",
  "gapBps": 57,
  "rates": [
    { "protocol": "compound", "apyBps": 490, "weightedApyBps": 485, "source": "onchain", "asOf": "..." },
    { "protocol": "moonwell", "apyBps": 440, "weightedApyBps": 387, "source": "defillama", "asOf": "..." }
  ]
}

source is onchain/api (read directly from the protocol — Aave, Compound and Morpho) or defillama (aggregator — Moonwell, Euler and Fluid) — a reading that fails or looks invalid is omitted, never estimated.

Verifiable, not just claimed

Two independent ways to check a response wasn't tampered with or fabricated, without needing to trust our uptime at query time:

Agent discovery & reputation

Registration file (ERC-8004) at /agent-card.json — a portable identity for this service, discoverable outside x402-specific directories. Once registered on-chain (IdentityRegistry), any buyer can leave verifiable feedback via the ReputationRegistry — see the agent card for both contract addresses.