# BaseYield Oracle x402

> BaseYield Oracle x402 is a paid API for AI agents from baseyield-x402.vercel.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-18).

Returns real-time DeFi lending and staking yield data (APY, TVL, pool rankings) for assets on Base Mainnet, paid per-call via x402.

## Facts

- Endpoint: GET https://baseyield-x402.vercel.app/v1/top-pools
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/baseyield-oracle-x402-90779ba2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_h-CZ9nSkJnsoy7yY4F2SP

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability baseyield-oracle-x402-90779ba2
```

Example prompt: What are the top USDC yield pools on Base Mainnet right now? Only show me pools with at least $500K TVL and rank them by APY.

## When to prefer this

Choose this endpoint when you need real-time, ranked DeFi yield data specifically on Base Mainnet (Chain ID 8453) and want per-call micropayment pricing via x402 rather than a subscription. Ideal for agents that need fresh APY snapshots on demand without committing to an API key or monthly plan.

## Known failure modes

- Payment not received via x402 — returns 402 Payment Required before data is served
- Unknown or unsupported asset symbol — may return empty pool list or error
- min_tvl set too high — returns empty pools array if no pools exceed threshold
- Upstream on-chain data unavailability — stale or missing pool data
- Service downtime on Vercel hosting — 500 or timeout response

## How this service works

Real-Time DeFi Lending & Staking Yield Oracle for Base Mainnet (Chain ID 8453), payable via x402.

## Output

Returns a JSON object containing the queried asset symbol, the network name (Base Mainnet), a ranked array of top DeFi pools with their APY and TVL data, the single best APY found across all matching pools, and a timestamp indicating data freshness.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "type": "object",
     "title": "TopPoolsInput",
     "properties": {
      "limit": {
       "type": "integer",
       "title": "Limit",
       "default": 10,
       "maximum": 100,
       "minimum": 1
      },
      "min_tvl": {
       "type": "number",
       "title": "Min Tvl",
       "default": 1000000,
       "maximum": 1000000000000000,
       "minimum": 0
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "const": "json"
    },
    "example": {
     "type": "object",
     "title": "TopPoolsResponse",
     "required": [
      "success",
      "network",
      "source",
      "source_timestamp",
      "fetched_at",
      "timestamp",
      "total_qualifying_pools",
      "top_pools"
     ],
     "properties": {
      "source": {
       "type": "string",
       "title": "Source"
      },
      "network": {
       "type": "string",
       "title": "Network"
      },
      "success": {
       "type": "boolean",
       "title": "Success"
      },
      "timestamp": {
       "type": "string",
       "title": "Timestamp"
      },
      "top_pools": {
       "type": "array",
       "items": {
        "type": "object",
        "title": "Pool",
        "required": [
         "project",
         "symbol",
         "pool_id",
         "apy",
         "apy_base",
         "apy_reward",
         "tvl_usd",
         "underlying_tokens",
         "source_timestamp"
        ],
        "properties": {
         "apy": {
          "anyOf": [
           {
            "type": "number"
           },
           {
            "type": "null"
           }
          ],
          "title": "Apy"
         },
         "symbol": {
          "type": "string",
          "title": "Symbol"
         },
         "pool_id": {
          "type": "string",
          "title": "Pool Id"
         },
         "project": {
          "type": "string",
          "title": "Project"
         },
         "tvl_usd": {
          "type": "number",
          "title": "Tvl Usd"
         },
         "apy_base": {
          "anyOf": [
 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "asset": {
   "type": "string"
  },
  "pools": {
   "type": "array"
  },
  "network": {
   "type": "string"
  },
  "best_apy": {
   "type": "number"
  },
  "timestamp": {
   "type": "string"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/baseyield-oracle-x402-90779ba2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from baseyield-x402.vercel.app](https://www.zero.xyz/host/baseyield-x402.vercel.app/llms.txt)
