openapi: 3.0.0 info: title: Frax Finance v1-gauge v1-staking API description: The Frax Finance API version: '1.0' contact: name: Frax Finance url: https://docs.frax.finance email: no-reply@frax.finance servers: - url: https://api.frax.finance tags: - name: v1-staking paths: /v1/lockedstakedata: post: operationId: v1GetLockedStakeData summary: Returns locked stake data for a token. description: Returns locked stake data for a token. parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LockedStakeDataRequest' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/LockedStakeDataResponse' tags: - v1-staking /v1/pools: get: operationId: V1Controller_getPools parameters: [] responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/CoinGeckoPoolDataItem' tags: - v1-staking /v1/pools/{farmAddress}: get: operationId: V1Controller_getPoolByFarmAddress parameters: - name: farmAddress required: true in: path description: The hex address of the farm. Input is case insensitive. example: '0x3F2E53B1A3036Fd33F3c2f3cC49daB26A88DF2e0' schema: minLength: 42 maxLength: 42 pattern: ^0x[a-fA-F0-9]{40}$ type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/CoinGeckoPoolDataItem' tags: - v1-staking /v1/stakedata: post: operationId: v1GetStakeData summary: Returns stake data for a token and timeframe. description: Returns stake data for a token and timeframe. parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StakeInfoRequest' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/StakeInfoResponse' tags: - v1-staking /v1/stakedata/choices: get: operationId: v1GetStakeChoices summary: Returns stake choices. description: Returns stake choices. parameters: [] responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/StakeChoicesResponse' tags: - v1-staking /v1/stakedata/user-stake-info: post: operationId: v1GetUserStakeData summary: Returns stake data for a user. description: Returns stake data for a user. parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserStakeInfoRequest' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UserStakeInfoResponse' tags: - v1-staking components: schemas: StakeInfoRequest: type: object properties: token: type: string description: Token filter: type: string description: Timeframe enum: - all-time - 1-year - 6-months - 3-months - 1-month - 1-week - 1-day - 8-hours - 1-hour - 15-minutes required: - token - filter StakingRewardToken: type: object properties: symbol: type: string display_name: type: string apr_min_pct: type: number apr_max_pct: type: number token_price: type: number tokens_per_day: type: number usd_val_per_day: type: number required: - symbol - display_name - apr_min_pct - apr_max_pct - token_price - tokens_per_day - usd_val_per_day StakingItem: type: object properties: blockNum: type: number timestamp: type: number token: type: string supply: type: number boosted_supply: type: number lp_price: type: number lp_token_supply: type: number tvl: type: number reward_value_usd: type: number reward_duration: type: number apy: type: number apy_max: type: number reward_breakdown: $ref: '#/components/schemas/StakingRewardApyBreakdown' is_stale: type: boolean required: - blockNum - timestamp - token - supply - boosted_supply - lp_price - lp_token_supply - tvl - reward_value_usd - reward_duration - apy - apy_max - is_stale ChartJSDataRange: type: object properties: min: type: number max: type: number required: - min - max StakeChoiceGovernanceInfo: type: object properties: create: $ref: '#/components/schemas/StakeChoiceGovernanceSnapshotInfo' kill: $ref: '#/components/schemas/StakeChoiceGovernanceSnapshotInfo' required: - create - kill LockedStakeBucketAggregate: type: object properties: _id: type: string count: type: number total: type: number required: - _id - count - total RewardInfo: type: object properties: token: type: string chain: type: string coingecko_slug: type: string price: type: number reward_balance: type: number reward_usd_value: type: number reward_rate: type: string required: - token - chain - coingecko_slug - price - reward_balance - reward_usd_value - reward_rate LockedStakeDataResponse: type: object properties: token: type: string unlocked_sum: type: number locked_sum: type: number buckets: type: array items: $ref: '#/components/schemas/LockedStakeBucketAggregate' required: - token - unlocked_sum - locked_sum - buckets StakeChoice: type: object properties: key: type: string lp_logo: type: string slug: type: string urlRoute: type: string label: type: string chain: type: string enum: - arbitrum - aurora - avalanche - boba - bsc - ethereum - fantom - fraxtal - fraxtal_testnet - harmony - holesky - moonbeam - moonriver - optimism - polygon - polygon_zkevm - solana - stable - zksync info_link: type: string add_liq_link: type: string trade_link: type: string farming_link: type: string starting_block: type: number pool_tokens: type: array items: type: string pair_token0_decimals: type: number pair_token1_decimals: type: number reward_tokens: type: array items: type: string reward_token_decimals: type: array items: type: number external_reward_tokens: type: array items: type: string external_reward_token_decimals: type: array items: type: number staking_enabled: type: boolean timelock_enabled: type: boolean vefxs_enabled: type: boolean is_gauged: type: boolean external_contract: type: boolean has_varied_apy: type: boolean reward_token_coingecko_slugs: type: array items: type: string external_reward_token_coingecko_slugs: type: array items: type: string reward_token_bridge_types: type: array items: type: string enum: - canonical - anyFRAX - anyFXS - aebFRAX - aebFXS - binFRAX - binFXS - 1FRAX - 1FXS - polyFRAX - polyFXS - solwormFRAX - solwormFXS version: type: number governance: $ref: '#/components/schemas/StakeChoiceGovernanceInfo' required: - key - lp_logo - slug - urlRoute - label - chain - info_link - add_liq_link - trade_link - farming_link - starting_block - pool_tokens - pair_token0_decimals - pair_token1_decimals - reward_tokens - reward_token_decimals - external_reward_tokens - external_reward_token_decimals - staking_enabled - timelock_enabled - vefxs_enabled - is_gauged - external_contract - has_varied_apy - reward_token_coingecko_slugs - external_reward_token_coingecko_slugs - reward_token_bridge_types - version - governance StakeChoiceGovernanceSnapshotInfo: type: object properties: fipId: type: string fipHash: type: string required: - fipId - fipHash LockedStakeDataRequest: type: object properties: token: type: string description: Staking choice required: - token StakingRewardFee: type: object properties: symbol: type: string display_name: type: string apr_min_pct: type: number apr_max_pct: type: number lp_price: type: number avg_lp_per_day: type: number avg_volume_per_day_usd: type: number avg_provider_fees_per_day_usd: type: number required: - symbol - display_name - apr_min_pct - apr_max_pct - lp_price - avg_lp_per_day - avg_volume_per_day_usd - avg_provider_fees_per_day_usd UserStakeInfoRequest: type: object properties: the_chain: type: string description: The chain enum: - arbitrum - aurora - avalanche - boba - bsc - ethereum - fantom - fraxtal - fraxtal_testnet - harmony - holesky - moonbeam - moonriver - optimism - polygon - polygon_zkevm - solana - stable - zksync staking_choice: type: string description: Staking choice staker_address: type: string description: Staker address required: - the_chain - staking_choice - staker_address ChartJSData: type: object properties: labels: additionalProperties: oneOf: - type: string - type: number - type: boolean type: array items: type: object data: additionalProperties: oneOf: - type: string - type: number - type: boolean type: array items: type: object range: $ref: '#/components/schemas/ChartJSDataRange' required: - labels - data - range StakeChoicesResponse: type: object properties: choices: type: array items: $ref: '#/components/schemas/StakeChoice' required: - choices CoinGeckoPoolDataItem: type: object properties: identifier: type: string chain: type: string platform: type: string pair: type: string pairLink: type: string lp_address: type: string farm_address: type: string logo: type: string pool_tokens: type: array items: type: string pool_rewards: type: array items: type: string liquidity_locked: type: number apy: type: number apy_max: type: number reward_breakdown: $ref: '#/components/schemas/StakingRewardApyBreakdown' is_deprecated: type: boolean is_stale: type: boolean required: - identifier - chain - platform - pair - pairLink - logo - pool_tokens - pool_rewards - liquidity_locked - apy - apy_max - is_deprecated - is_stale LockedStake: type: object properties: amount: type: string dollar_value: type: number ending_timestamp: type: string kek_id: type: string liquidity: type: string lock_multiplier: type: string multiplier: type: string start_timestamp: type: string tick_lower: type: number tick_upper: type: number token_id: type: number required: - amount - dollar_value - ending_timestamp - kek_id - liquidity - lock_multiplier - multiplier - start_timestamp - tick_lower - tick_upper - token_id StakeInfoResponse: type: object properties: full_items: type: array items: $ref: '#/components/schemas/StakingItem' chartjs: additionalProperties: oneOf: - type: string - type: number - type: boolean allOf: - $ref: '#/components/schemas/ChartJSData' required: - full_items - chartjs UserStakeInfoResponse: type: object properties: lp_token_balance: type: number lp_token_bal_usd: type: number combined_weight: type: number rewards: type: array items: $ref: '#/components/schemas/RewardInfo' external_rewards: type: array items: $ref: '#/components/schemas/RewardInfo' rewards_total_usd_value: type: number unlocked_total: type: number unlocked_total_usd_value: type: number locked_total: type: number locked_total_usd_value: type: number locked_stakes: type: array items: $ref: '#/components/schemas/LockedStake' required: - lp_token_balance - lp_token_bal_usd - combined_weight - rewards - external_rewards - rewards_total_usd_value - unlocked_total - unlocked_total_usd_value - locked_total - locked_total_usd_value - locked_stakes StakingRewardApyBreakdown: type: object properties: fees: type: array items: $ref: '#/components/schemas/StakingRewardFee' tokens: type: array items: $ref: '#/components/schemas/StakingRewardToken' required: - fees - tokens externalDocs: description: Open V2 Docs url: /v2/docs