Pendle · Schema
MarketResponse
Web3DeFiYield TokenizationCryptoPrincipal TokensYield TokensAMMLiquidity Pools
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier of the market in format "{chainId}-{address}" |
| chainId | number | Chain ID where the market is deployed |
| address | string | Contract address of the market |
| symbol | string | Symbol of the market |
| expiry | string | Expiry date of the PT/YT tokens |
| pt | object | Principal Token (PT) asset information |
| yt | object | Yield Token (YT) asset information |
| sy | object | Standardized Yield (SY) token asset information |
| lp | object | Liquidity Pool (LP) token asset information |
| accountingAsset | object | Asset used for accounting and pricing in this market |
| underlyingAsset | object | The underlying asset that generates yield |
| basePricingAsset | object | Same as accountingAsset |
| rewardTokens | array | |
| inputTokens | array | |
| outputTokens | array | |
| protocol | string | |
| underlyingPool | string | |
| proSymbol | string | |
| proIcon | string | |
| assetRepresentation | string | String representation of the asset type for this market |
| isWhitelistedPro | boolean | Whether this market is whitelisted for pro interface |
| isWhitelistedSimple | boolean | Whether this market is whitelisted for simple interface |
| votable | boolean | Whether this market can receive vePENDLE votes |
| isActive | boolean | Whether the market is currently active (not expired and not manually deactivated) |
| isWhitelistedLimitOrder | boolean | Whether limit orders are enabled for this market |
| accentColor | string | |
| totalPt | number | Total PT in the market |
| totalSy | number | Total SY in the market |
| totalLp | number | Total supply of the LP token |
| totalActiveSupply | number | Total active supply of the LP token, used for calculate boosting |
| liquidity | object | Market liquidity, this is the liquidity of PT and SY in the AMM |
| tradingVolume | object | Market 24h trading volume |
| underlyingInterestApy | number | Annual percentage yield from the underlying asset interest |
| underlyingRewardApy | number | Annual percentage yield from the underlying asset rewards |
| underlyingRewardApyBreakdown | array | |
| underlyingApy | number | APY of the underlying asset |
| impliedApy | number | Implied APY of market |
| ytFloatingApy | number | Floating APY for YT holders (underlyingApy - impliedApy) |
| ptDiscount | number | PT discount relative to underlying asset |
| swapFeeApy | number | Swap fee APY for LP holders, without boosting |
| pendleApy | number | APY from Pendle rewards |
| arbApy | number | APY from arbitrage opportunities |
| aggregatedApy | number | APY including yield, swap fee and Pendle rewards without boosting |
| maxBoostedApy | number | APY when maximum boost is applied |
| lpRewardApy | number | APY from LP reward tokens |
| voterApy | number | APY for voters (vePENDLE holders) from voting on this pool |
| ytRoi | number | Return on investment for YT holders |
| ptRoi | number | Return on investment for PT holders |
| estimatedDailyPoolRewards | array | |
| dataUpdatedAt | string | |
| liquidityChange24h | number | 24-hour percentage change in liquidity |
| tradingVolumeChange24h | number | 24-hour percentage change in trading volume |
| underlyingInterestApyChange24h | number | 24-hour change in underlying interest APY (in percentage points) |
| underlyingRewardApyChange24h | number | 24-hour change in underlying reward APY (in percentage points) |
| underlyingApyChange24h | number | 24-hour change in underlying APY (in percentage points) |
| impliedApyChange24h | number | 24-hour change in implied APY (in percentage points) |
| ytFloatingApyChange24h | number | 24-hour change in YT floating APY (in percentage points) |
| ptDiscountChange24h | number | 24-hour change in PT discount (in percentage points) |
| swapFeeApyChange24h | number | 24-hour change in swap fee APY (in percentage points) |
| pendleApyChange24h | number | 24-hour change in PENDLE APY (in percentage points) |
| aggregatedApyChange24h | number | 24-hour change in aggregated APY (in percentage points) |
| lpRewardApyChange24h | number | 24-hour change in LP reward APY (in percentage points) |
| voterApyChange24h | number | 24-hour change in voter APY (in percentage points) |
| categoryIds | array | Array of category IDs this market belongs to |
| timestamp | string | Timestamp when the market data was last updated |
| scalarRoot | number | |
| initialAnchor | number | |
| extendedInfo | object | Additional market data, only available when market is whitelisted. |
| isFeatured | boolean | |
| isPopular | boolean | |
| tvlThresholdTimestamp | string | |
| whitelistedProAt | string | |
| isNew | boolean | Market which whitelisted in the last 2 weeks will have isNew==true |
| name | string | |
| simpleName | string | |
| simpleSymbol | string | |
| simpleIcon | string | |
| proName | string | |
| farmName | string | |
| farmSymbol | string | |
| farmSimpleName | string | |
| farmSimpleSymbol | string | |
| farmSimpleIcon | string | |
| farmProName | string | |
| farmProSymbol | string | |
| farmProIcon | string |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "MarketResponse",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the market in format \"{chainId}-{address}\""
},
"chainId": {
"type": "number",
"description": "Chain ID where the market is deployed"
},
"address": {
"type": "string",
"description": "Contract address of the market"
},
"symbol": {
"type": "string",
"description": "Symbol of the market"
},
"expiry": {
"format": "date-time",
"type": "string",
"description": "Expiry date of the PT/YT tokens"
},
"pt": {
"description": "Principal Token (PT) asset information",
"allOf": [
{
"$ref": "#/components/schemas/AssetResponse"
}
]
},
"yt": {
"description": "Yield Token (YT) asset information",
"allOf": [
{
"$ref": "#/components/schemas/AssetResponse"
}
]
},
"sy": {
"description": "Standardized Yield (SY) token asset information",
"allOf": [
{
"$ref": "#/components/schemas/AssetResponse"
}
]
},
"lp": {
"description": "Liquidity Pool (LP) token asset information",
"allOf": [
{
"$ref": "#/components/schemas/AssetResponse"
}
]
},
"accountingAsset": {
"description": "Asset used for accounting and pricing in this market",
"allOf": [
{
"$ref": "#/components/schemas/AssetResponse"
}
]
},
"underlyingAsset": {
"description": "The underlying asset that generates yield",
"allOf": [
{
"$ref": "#/components/schemas/AssetResponse"
}
]
},
"basePricingAsset": {
"nullable": true,
"description": "Same as accountingAsset",
"deprecated": true,
"allOf": [
{
"$ref": "#/components/schemas/AssetResponse"
}
]
},
"rewardTokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetResponse"
}
},
"inputTokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetResponse"
}
},
"outputTokens": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetResponse"
}
},
"protocol": {
"type": "string",
"nullable": true
},
"underlyingPool": {
"type": "string",
"nullable": true
},
"proSymbol": {
"type": "string",
"nullable": true
},
"proIcon": {
"type": "string",
"nullable": true
},
"assetRepresentation": {
"type": "string",
"description": "String representation of the asset type for this market"
},
"isWhitelistedPro": {
"type": "boolean",
"description": "Whether this market is whitelisted for pro interface"
},
"isWhitelistedSimple": {
"type": "boolean",
"description": "Whether this market is whitelisted for simple interface",
"deprecated": true
},
"votable": {
"type": "boolean",
"description": "Whether this market can receive vePENDLE votes"
},
"isActive": {
"type": "boolean",
"description": "Whether the market is currently active (not expired and not manually deactivated)",
"deprecated": true
},
"isWhitelistedLimitOrder": {
"type": "boolean",
"description": "Whether limit orders are enabled for this market"
},
"accentColor": {
"type": "string",
"nullable": true
},
"totalPt": {
"type": "number",
"nullable": true,
"description": "Total PT in the market"
},
"totalSy": {
"type": "number",
"nullable": true,
"description": "Total SY in the market"
},
"totalLp": {
"type": "number",
"nullable": true,
"description": "Total supply of the LP token"
},
"totalActiveSupply": {
"type": "number",
"nullable": true,
"description": "Total active supply of the LP token, used for calculate boosting"
},
"liquidity": {
"nullable": true,
"description": "Market liquidity, this is the liquidity of PT and SY in the AMM",
"allOf": [
{
"$ref": "#/components/schemas/ValuationResponse"
}
]
},
"tradingVolume": {
"nullable": true,
"description": "Market 24h trading volume",
"allOf": [
{
"$ref": "#/components/schemas/ValuationResponse"
}
]
},
"underlyingInterestApy": {
"type": "number",
"nullable": true,
"description": "Annual percentage yield from the underlying asset interest"
},
"underlyingRewardApy": {
"type": "number",
"nullable": true,
"description": "Annual percentage yield from the underlying asset rewards"
},
"underlyingRewardApyBreakdown": {
"nullable": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/ApyBreakdownResponse"
}
},
"underlyingApy": {
"type": "number",
"nullable": true,
"description": "APY of the underlying asset"
},
"impliedApy": {
"type": "number",
"nullable": true,
"description": "Implied APY of market"
},
"ytFloatingApy": {
"type": "number",
"nullable": true,
"description": "Floating APY for YT holders (underlyingApy - impliedApy)"
},
"ptDiscount": {
"type": "number",
"nullable": true,
"description": "PT discount relative to underlying asset"
},
"swapFeeApy": {
"type": "number",
"nullable": true,
"description": "Swap fee APY for LP holders, without boosting"
},
"pendleApy": {
"type": "number",
"nullable": true,
"description": "APY from Pendle rewards"
},
"arbApy": {
"type": "number",
"nullable": true,
"description": "APY from arbitrage opportunities"
},
"aggregatedApy": {
"type": "number",
"nullable": true,
"description": "APY including yield, swap fee and Pendle rewards without boosting"
},
"maxBoostedApy": {
"type": "number",
"nullable": true,
"description": "APY when maximum boost is applied"
},
"lpRewardApy": {
"type": "number",
"nullable": true,
"description": "APY from LP reward tokens"
},
"voterApy": {
"type": "number",
"nullable": true,
"description": "APY for voters (vePENDLE holders) from voting on this pool"
},
"ytRoi": {
"type": "number",
"nullable": true,
"description": "Return on investment for YT holders"
},
"ptRoi": {
"type": "number",
"nullable": true,
"description": "Return on investment for PT holders"
},
"estimatedDailyPoolRewards": {
"nullable": true,
"type": "array",
"items": {
"$ref": "#/components/schemas/EstimatedDailyPoolRewardResponse"
}
},
"dataUpdatedAt": {
"format": "date-time",
"type": "string",
"nullable": true
},
"liquidityChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour percentage change in liquidity"
},
"tradingVolumeChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour percentage change in trading volume"
},
"underlyingInterestApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in underlying interest APY (in percentage points)"
},
"underlyingRewardApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in underlying reward APY (in percentage points)"
},
"underlyingApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in underlying APY (in percentage points)"
},
"impliedApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in implied APY (in percentage points)"
},
"ytFloatingApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in YT floating APY (in percentage points)"
},
"ptDiscountChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in PT discount (in percentage points)"
},
"swapFeeApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in swap fee APY (in percentage points)"
},
"pendleApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in PENDLE APY (in percentage points)"
},
"aggregatedApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in aggregated APY (in percentage points)"
},
"lpRewardApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in LP reward APY (in percentage points)"
},
"voterApyChange24h": {
"type": "number",
"nullable": true,
"description": "24-hour change in voter APY (in percentage points)"
},
"categoryIds": {
"description": "Array of category IDs this market belongs to",
"type": "array",
"items": {
"type": "string"
}
},
"timestamp": {
"format": "date-time",
"type": "string",
"description": "Timestamp when the market data was last updated"
},
"scalarRoot": {
"type": "number"
},
"initialAnchor": {
"type": "number"
},
"extendedInfo": {
"description": "Additional market data, only available when market is whitelisted.",
"allOf": [
{
"$ref": "#/components/schemas/MarketExtendedInfoResponse"
}
]
},
"isFeatured": {
"type": "boolean",
"nullable": true
},
"isPopular": {
"type": "boolean",
"nullable": true
},
"tvlThresholdTimestamp": {
"format": "date-time",
"type": "string",
"nullable": true
},
"whitelistedProAt": {
"format": "date-time",
"type": "string",
"nullable": true
},
"isNew": {
"type": "boolean",
"description": "Market which whitelisted in the last 2 weeks will have isNew==true"
},
"name": {
"type": "string"
},
"simpleName": {
"type": "string"
},
"simpleSymbol": {
"type": "string"
},
"simpleIcon": {
"type": "string"
},
"proName": {
"type": "string"
},
"farmName": {
"type": "string"
},
"farmSymbol": {
"type": "string"
},
"farmSimpleName": {
"type": "string"
},
"farmSimpleSymbol": {
"type": "string"
},
"farmSimpleIcon": {
"type": "string"
},
"farmProName": {
"type": "string"
},
"farmProSymbol": {
"type": "string"
},
"farmProIcon": {
"type": "string"
}
},
"required": [
"id",
"chainId",
"address",
"symbol",
"expiry",
"pt",
"yt",
"sy",
"lp",
"accountingAsset",
"underlyingAsset",
"rewardTokens",
"inputTokens",
"outputTokens",
"assetRepresentation",
"isWhitelistedPro",
"isWhitelistedSimple",
"votable",
"isActive",
"isWhitelistedLimitOrder",
"categoryIds",
"timestamp",
"scalarRoot",
"initialAnchor",
"extendedInfo",
"isNew",
"name",
"simpleName",
"simpleSymbol",
"simpleIcon",
"proName",
"farmName",
"farmSymbol",
"farmSimpleName",
"farmSimpleSymbol",
"farmSimpleIcon",
"farmProName",
"farmProSymbol",
"farmProIcon"
]
}