82trust / 100

Yields

by Base USDC lending APY in Onchain & crypto

x402 APIPassing, checked 4 h ago

Base USDC lending APY. Live USDC lending yield on Base, read on-chain: Aave V3 USDC vs Morpho Gauntlet USDC Prime. Size-aware pick for parking idle USDC: USD per year, days to break even vs Base gas, skip if entry is uneconomic. Conservative two venues only. No leverage, looping, memecoins, or perps.

GET https://raptor-base-yields.vercel.app/v1/yields

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
250 ms typical, 250 ms slowest 5%
Last check
4 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://raptor-base-yields.vercel.app/v1/yields?amountUsdc=100"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.03:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fraptor-base-yields.vercel.app%2Fv1%2Fyields
const res = await pay("https://raptor-base-yields.vercel.app/v1/yields?amountUsdc=100");
console.log(await res.json());

Example input

{
  "amountUsdc": 100
}

Example output

{
  "asOf": "2026-08-25T17:00:00.000Z",
  "asset": {
    "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "decimals": 6,
    "symbol": "USDC"
  },
  "chain": "base",
  "chainId": 8453,
  "conservative": {
    "excluded": [
      "leverage",
      "looping",
      "memecoins",
      "perps"
    ],
    "preferredVenue": "morpho-gauntlet-usdc",
    "rationale": "Highest live net USDC supply yield among the two named venues only. Size-aware enter/skip is in recommendation."
  },
  "recommendation": {
    "daysToBreakEven": 4.1,
    "gasBandUsd": {
      "high": 0.15,
      "low": 0.02
    },
    "gasUsdEnter": 0.05,
    "gasUsdEnterSource": "live",
    "preferredVenue": "morpho-gauntlet-usdc",
    "principalSource": "example",
    "principalUsdc": 100,
    "rationale": "Among Aave V3 USDC and Morpho Gauntlet USDC Prime only, morpho-gauntlet-usdc has the higher live net APY (4.4216%). On example size 100 USDC; scale with usdPerYearPerUsdc that is about $4.4216/year.",
    "skipIfUneconomic": false,
    "usdPerYear": 4.4216,
    "usdPerYearPerUsdc": 0.044216
  },
  "venues": [
    {
      "id": "aave-v3-usdc",
      "name": "Aave V3 USDC",
      "netApy": 0.0313,
      "pool": "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5",
      "protocol": "aave-v3",
      "source": "on-chain:Aave V3 Pool.getReserveData",
      "suppliedUsdc": "180000000.0",
      "supplyApyPercent": "3.1345%"
    },
    {
      "id": "morpho-gauntlet-usdc",
      "name": "Gauntlet USDC Prime",
      "netApy": 0.0442,
      "netApyPercent": "4.4216%",
      "protocol": "morpho",
      "suppliedUsdc": "434000000.0",
      "vault": "0xeE8F4eC5672F09119b96Ab6fB59C27E1b7e44b61"
    }
  ]
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
4 h agoPassed402250 ms$0.01