BitcoinYield Prices API
The Prices API from BitcoinYield — 1 operation(s) for prices.
The Prices API from BitcoinYield — 1 operation(s) for prices.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bitcoinyield:bitcoinyield-prices-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: BitcoinYield Prices API
description: 'Live crypto yield comparison across the whole market (DeFi and CeFi), as a free REST API and MCP server. Live crypto interest rates on Bitcoin, ETH and stablecoins compared: DeFi yield, crypto lending rates, staking and CeFi earn, each graded A to D for risk. No key or account needed.'
version: 1.9.0
license:
name: BitcoinYield Terms of Service
url: https://bitcoinyield.co/legal/terms
servers:
- url: https://bitcoinyield.co
security: []
tags:
- name: Prices
paths:
/api/v1/prices:
get:
operationId: get_yield_offers
summary: Get every live yield offer (full feed)
description: Every live yield offer across all assets, for building dashboards or agents on the whole feed, in BitcoinYield's own order (rate and risk together). Each offer carries its asset plus the same fields as list_offers. Current quotes only. Filter by asset, provider (platform), type and limit (100 by default, up to 2000). Rates are variable and not advice. No key required.
parameters:
- name: asset
in: query
required: false
description: Only this asset, by its symbol, e.g. BTC, USDC or USDE (case-insensitive).
schema:
type: string
description: Only this asset, by its symbol, e.g. BTC, USDC or USDE (case-insensitive).
enum:
- BTC
- ETH
- SOL
- USDC
- USDT
- DAI
- USDE
- GHO
- CRVUSD
- PYUSD
- RLUSD
- FRAX
- USD1
- USDY
- USD0
- USDG
- AUSD
- USDD
- USD3
- REUSD
- USDX
- DEUSD
- USDF
- USR
- USDAI
- JUPUSD
- AVUSD
- BNB
- AVAX
- TRX
- HYPE
- LINK
- XRP
- POL
- SKY
- CRV
- SUI
- CVX
- AERO
- BUIDL
- USYC
- USTB
- OUSG
- USCC
- TBILL
- VBILL
- THBILL
- ACRED
- STAC
- ONYC
- STBT
- DOLA
- FRXUSD
- MSUSD
- FXUSD
- APXUSD
- APYUSD
- STRUSD
- SYZUSD
- VUSD
- STCUSD
- USDU
- SRUSD
- BOLD
- LISUSD
- YUSD
- BUCK
- EURC
- EURE
- name: provider
in: query
required: false
description: 'Only this platform: its key as in /platforms/<key> (e.g. aave-v3) or its name as offers show it (e.g. Aave V3), case-insensitive.'
schema:
type: string
description: 'Only this platform: its key as in /platforms/<key> (e.g. aave-v3) or its name as offers show it (e.g. Aave V3), case-insensitive.'
- name: type
in: query
required: false
description: Only this product type, by its id (how the yield is produced); offers show its name in product_type.
schema:
type: string
description: Only this product type, by its id (how the yield is produced); offers show its name in product_type.
enum:
- defi_lending
- savings
- defi_lp
- farm
- defi_vault
- liquid_staking
- restaking
- fixed
- synthetic
- backstop
- private_credit
- rwa_fund
- cefi_earn
- structured_option
- name: limit
in: query
required: false
description: How many offers to return, 1 to 2000 (default 100).
schema:
type: integer
description: How many offers to return, 1 to 2000 (default 100).
minimum: 1
maximum: 2000
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
updated_at:
type:
- string
- 'null'
description: When the feed was last refreshed (ISO 8601). It refreshes every 3 hours.
stale:
type: boolean
description: True when part of this snapshot is over 6 hours old (a scheduled refresh was missed).
partial:
type: boolean
description: True when a data source was missing from this snapshot.
degraded_sources:
type: array
items:
type: string
description: The sources missing from this snapshot, if any.
count:
type: integer
offers:
type: array
items:
type: object
properties:
asset:
type: string
description: The asset the offer pays on, e.g. BTC or USDC.
rank:
type: integer
description: The offer's place in BitcoinYield's order (rate and risk together), 1 first.
platform:
type: string
description: The platform's name, e.g. Aave V3.
chain:
type:
- string
- 'null'
description: The chain the offer is on; null for a centralized (CeFi) offer.
market:
type: string
description: The vault, market or token the rate is paid in.
product_type:
type: string
description: How the yield is produced, e.g. DeFi lending, Savings rate or Liquid staking.
rate:
type: number
description: 'The annual rate in percent (5.2 means 5.2%) as BitcoinYield shows it and orders on it: today''s reported rate, or its 7-day average when that is lower, so a one-day spike never leads.'
rate_today:
type: number
description: 'The latest reading: today''s rate, or for a vault, pool or staking token the middle of its 1-day, 7-day and 30-day realized returns. Above rate when that reading is higher than the 7-day average.'
rate_basis:
type: string
enum:
- apy
- apr
- unknown
description: Whether the source reports the rate as APY (compounded) or APR; unknown when it does not say.
rate_base:
type:
- number
- 'null'
description: The organic part of rate (interest, fees, staking); rate_base + rate_rewards = rate.
rate_rewards:
type:
- number
- 'null'
description: The part of rate paid as incentive rewards, which last only as long as someone funds them (beside a rate held at its 7-day average, scaled to that rate).
avg_7d:
type:
- number
- 'null'
description: The rate's 7-day average (rate is the lower of it and rate_today).
rewards_program:
type:
- object
- 'null'
description: Who pays rate_rewards and how far ahead it is funded, when the incentive program is known (Merkl campaigns on Morpho, Euler, Aave and Fluid); null otherwise.
properties:
paid_in:
type: array
items:
type: string
description: Reward token symbols.
funded_through:
type: string
description: Last day (UTC, YYYY-MM-DD) the live round is funded through.
since:
type: string
description: First day (UTC) of the unbroken run of rounds the live one belongs to.
rounds:
type: integer
description: Rounds in that run, the live one included (1 = never renewed yet).
source:
type: string
enum:
- merkl
required:
- paid_in
- funded_through
- since
- rounds
- source
avg_30d:
type:
- number
- 'null'
description: The rate's 30-day average; null under a month of history.
durability:
type:
- string
- 'null'
description: 'The rate (as shown and ordered) against its 30-day average: durable, moderate, volatile or spiking; posted when it has not moved in 30 days (a rate the platform sets); lumpy when a realized rate''s 1-day, 7-day and 30-day readings disagree (income booked in lumps); insufficient under a month of history.'
liquidity_usd:
type:
- number
- 'null'
description: 'The liquidity a depositor can exit into, in US dollars: a lending pool''s withdrawable amount, a credit pool''s cash, or for a staking token what sells at once within 1% of its market price (the rest of its stake leaves through its issuer''s queue, see exit), or for a fund its issuer redeems what its redemption vault pays at once. Null when the source reports none (custodial desks).'
exit:
type:
- string
- 'null'
description: 'How a holder gets the underlying back at full value, as its issuer states it: a withdrawal queue, a cooldown or a redemption wait, and whether the token can also be sold on a market at the market price. Null when none is on record; a lending market''s exit is its liquidity_usd.'
risk_tier:
type:
- string
- 'null'
description: 'BitcoinYield''s A-D risk grade: A lower risk, D higher.'
risk_reasons:
type:
- string
- 'null'
description: The main factors behind the grade.
us_available:
type: string
enum:
- 'yes'
- 'no'
- unknown
description: 'Whether a US retail user can open it: no when the platform or issuer excludes US persons, or admits only accredited investors or invited addresses (see access).'
access:
type:
- string
- 'null'
description: 'An investor restriction: KYC, Accredited only or Invite only.'
earn_url:
type:
- string
- 'null'
description: 'Where to deposit: the platform''s own page.'
partner:
type: boolean
description: True when BitcoinYield may earn a commission through earn_url (it never changes the order).
rate_source_url:
type:
- string
- 'null'
description: Where the rate was read.
fetched_at:
type:
- string
- 'null'
description: When this rate was read (ISO 8601).
required:
- asset
- rank
- platform
- product_type
- rate
- rate_today
- rate_basis
- us_available
- partner
required:
- count
- offers
'400':
description: A parameter outside its declared values
content:
application/json:
schema:
type: object
properties:
error:
type: string
required:
- error
tags:
- Prices
x-provenance:
method: harvested
publisher: BitcoinYield
source: https://bitcoinyield.co/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)