Stats

Liveness Check

get
Responses
200Success
get
GET / HTTP/1.1
Host: factor-stats-api.fly.dev
Accept: */*
200Success

No content

Leverage Strategies

/stats/leverage

get

Returns statistics for all leverage strategy vaults.

Responses
200
success
application/json
get
GET /stats/leverage HTTP/1.1
Host: factor-stats-api.fly.dev
Accept: */*
200

success

[
  {
    "protocol": "text",
    "market": "text",
    "vaultAddress": "text",
    "totalDepositUsd": "text",
    "totalTvlUsd": "text",
    "netAPY": "text",
    "apyVote": "text",
    "apyVoteProjected": "text",
    "voteWeight": "text",
    "scaleRewardPriceUsd": "text",
    "scaleRewardPerSecond": "text",
    "pairTvl": "text",
    "pairName": "text",
    "isRestaking": true,
    "isStakable": true,
    "stakedVaultAddress": true,
    "strategy": "text",
    "borrowRate": "text",
    "maxLeverage": "text",
    "assetDetails": {
      "priceUsd": "text",
      "symbol": "text",
      "address": "text",
      "supplyApy": "text",
      "borrowApr": "text",
      "additionalSupplyApy": [
        {
          "label": "text",
          "apy": "text"
        }
      ],
      "additionalBorrowApy": [
        {
          "label": "text",
          "apy": "text"
        }
      ],
      "totalSupplyApy": "text",
      "totalBorrowApy": "text",
      "loanToValue": "text",
      "threshold": "text",
      "maxLeverage": "text",
      "minHealthFactor": "text",
      "isAsset": true,
      "isDebt": true,
      "isDisabled": true,
      "ptTokenMetadata": {
        "underlyingTokenSymbol": "text",
        "expiryTimestamp": 1,
        "pendleMarketAddress": "text",
        "isExpired": true,
        "underlyingTokenAddress": "text"
      },
      "market": "text",
      "protocol": "text",
      "vaultAddress": "text"
    },
    "debtDetails": {
      "priceUsd": "text",
      "symbol": "text",
      "address": "text",
      "supplyApy": "text",
      "borrowApr": "text",
      "additionalSupplyApy": [
        {
          "label": "text",
          "apy": "text"
        }
      ],
      "additionalBorrowApy": [
        {
          "label": "text",
          "apy": "text"
        }
      ],
      "totalSupplyApy": "text",
      "totalBorrowApy": "text",
      "loanToValue": "text",
      "threshold": "text",
      "maxLeverage": "text",
      "minHealthFactor": "text",
      "isAsset": true,
      "isDebt": true,
      "isDisabled": true,
      "market": "text",
      "protocol": "text",
      "vaultAddress": "text"
    },
    "openedPositions": [],
    "apyBoost": "text",
    "apyBoostProjected": "text",
    "boostRewardTokens": [
      {
        "vaultAddress": "text",
        "tokenAddress": "text",
        "tokenSymbol": "text",
        "minAmount": "text",
        "minAmountFmt": "text",
        "totalRewardAmount": "text",
        "totalRewardAmountFmt": "text",
        "lastUpdateTime": "text",
        "periodFinish": "text",
        "rewardPerTokenStored": "text",
        "rewardPerTokenStoredFmt": "text",
        "rewardRate": "text",
        "rewardRateFmt": "text",
        "tokenDecimal": "text",
        "priceUsd": "text",
        "apy": "text"
      }
    ],
    "isBoosted": true,
    "isScaled": true,
    "fetched_at": "text",
    "identifier": "text"
  }
]

Yield Strategies

/stats/yield

get

Returns statistics for all yield strategy vaults.

Responses
200
success
application/json
get
GET /stats/yield HTTP/1.1
Host: factor-stats-api.fly.dev
Accept: */*
200

success

[
  {
    "vaultAddress": "text",
    "vaultName": "text",
    "vaultSymbol": "text",
    "isStagging": true,
    "isStakable": true,
    "tvlUsd": "text",
    "apyBase": "text",
    "apyVote": "text",
    "apyVoteProjected": "text",
    "isScaled": true,
    "voteWeight": "text",
    "scaleRewardPerSecond": "text",
    "scaleRewardPriceUsd": "text",
    "assetAddress": "text",
    "assetName": "text",
    "assetSymbol": "text",
    "assetDecimals": "text",
    "assetPriceUsd": "text",
    "sharePriceUsd": "text",
    "monthlyVolumeUsd": "text",
    "apyBoost": "text",
    "apyBoostProjected": "text",
    "boostRewardTokens": [
      {
        "vaultAddress": "text",
        "tokenAddress": "text",
        "tokenSymbol": "text",
        "minAmount": "text",
        "minAmountFmt": "text",
        "totalRewardAmount": "text",
        "totalRewardAmountFmt": "text",
        "lastUpdateTime": "text",
        "periodFinish": "text",
        "rewardPerTokenStored": "text",
        "rewardPerTokenStoredFmt": "text",
        "rewardRate": "text",
        "rewardRateFmt": "text",
        "tokenDecimal": "text",
        "priceUsd": "text",
        "apy": "text"
      }
    ],
    "isBoosted": true,
    "isRestaking": true,
    "fetched_at": "text",
    "identifier": "text"
  }
]

Protocol Counters

/stats/counters

get

Returns various counts which includes platform TVL, integrations, and strategies.

Responses
200
success
application/json
get
GET /stats/counters HTTP/1.1
Host: factor-stats-api.fly.dev
Accept: */*
200

success

{
  "totalTvl": "text",
  "protocols": "text",
  "pairs": "text",
  "leverageVaults": "text",
  "yieldVaults": "text",
  "totalVaults": "text"
}

User Stats

/stats/user/{address}

get

Returns user strategy data.

Path parameters
addressstringRequired

The user wallet address that is being queried.

Example: 0x2bfc3A4Ef52Fe6cD2c5236dA08005C59EaFB43a7
Responses
200
success
application/json
get
GET /stats/user/{address} HTTP/1.1
Host: factor-stats-api.fly.dev
Accept: */*
200

success

{
  "userLeverageVaults": [
    {
      "protocol": "text",
      "market": "text",
      "vaultAddress": "text",
      "totalDepositUsd": "text",
      "totalTvlUsd": "text",
      "netAPY": "text",
      "apyVote": "text",
      "apyVoteProjected": "text",
      "voteWeight": "text",
      "scaleRewardPriceUsd": "text",
      "scaleRewardPerSecond": "text",
      "pairTvl": "text",
      "pairName": "text",
      "isRestaking": true,
      "isStakable": true,
      "stakedVaultAddress": true,
      "strategy": "text",
      "borrowRate": "text",
      "maxLeverage": "text",
      "assetDetails": {
        "priceUsd": "text",
        "symbol": "text",
        "address": "text",
        "supplyApy": "text",
        "borrowApr": "text",
        "additionalSupplyApy": [
          {
            "label": "text",
            "apy": "text"
          }
        ],
        "additionalBorrowApy": [
          {
            "label": "text",
            "apy": "text"
          }
        ],
        "totalSupplyApy": "text",
        "totalBorrowApy": "text",
        "loanToValue": "text",
        "threshold": "text",
        "maxLeverage": "text",
        "minHealthFactor": "text",
        "isAsset": true,
        "isDebt": true,
        "isDisabled": true,
        "ptTokenMetadata": {
          "underlyingTokenSymbol": "text",
          "expiryTimestamp": 1,
          "pendleMarketAddress": "text",
          "isExpired": true,
          "underlyingTokenAddress": "text"
        },
        "market": "text",
        "protocol": "text",
        "vaultAddress": "text"
      },
      "debtDetails": {
        "priceUsd": "text",
        "symbol": "text",
        "address": "text",
        "supplyApy": "text",
        "borrowApr": "text",
        "additionalSupplyApy": [
          {
            "label": "text",
            "apy": "text"
          }
        ],
        "additionalBorrowApy": [
          {
            "label": "text",
            "apy": "text"
          }
        ],
        "totalSupplyApy": "text",
        "totalBorrowApy": "text",
        "loanToValue": "text",
        "threshold": "text",
        "maxLeverage": "text",
        "minHealthFactor": "text",
        "isAsset": true,
        "isDebt": true,
        "isDisabled": true,
        "market": "text",
        "protocol": "text",
        "vaultAddress": "text"
      },
      "openedPositions": [
        {
          "id": "text",
          "address": "text",
          "asset": {
            "address": "text",
            "amount": "text",
            "amountFmt": "text",
            "amountUsd": "text"
          },
          "debt": {
            "address": "text",
            "amount": "text",
            "amountFmt": "text",
            "amountUsd": "text"
          },
          "netValueUsd": "text",
          "tvlUsd": "text"
        }
      ],
      "apyBoost": "text",
      "apyBoostProjected": "text",
      "boostRewardTokens": [
        {
          "vaultAddress": "text",
          "tokenAddress": "text",
          "tokenSymbol": "text",
          "minAmount": "text",
          "minAmountFmt": "text",
          "totalRewardAmount": "text",
          "totalRewardAmountFmt": "text",
          "lastUpdateTime": "text",
          "periodFinish": "text",
          "rewardPerTokenStored": "text",
          "rewardPerTokenStoredFmt": "text",
          "rewardRate": "text",
          "rewardRateFmt": "text",
          "tokenDecimal": "text",
          "priceUsd": "text",
          "apy": "text"
        }
      ],
      "isBoosted": true,
      "isScaled": true,
      "fetched_at": "text",
      "identifier": "text"
    }
  ],
  "userYieldVaults": [
    {
      "vaultAddress": "text",
      "vaultName": "text",
      "vaultSymbol": "text",
      "isStagging": true,
      "isStakable": true,
      "tvlUsd": "text",
      "apyBase": "text",
      "apyVote": "text",
      "apyVoteProjected": "text",
      "isScaled": true,
      "voteWeight": "text",
      "scaleRewardPerSecond": "text",
      "scaleRewardPriceUsd": "text",
      "assetAddress": "text",
      "assetName": "text",
      "assetSymbol": "text",
      "assetDecimals": "text",
      "assetPriceUsd": "text",
      "sharePriceUsd": "text",
      "monthlyVolumeUsd": "text",
      "apyBoost": "text",
      "apyBoostProjected": "text",
      "boostRewardTokens": [
        {
          "vaultAddress": "text",
          "tokenAddress": "text",
          "tokenSymbol": "text",
          "minAmount": "text",
          "minAmountFmt": "text",
          "totalRewardAmount": "text",
          "totalRewardAmountFmt": "text",
          "lastUpdateTime": "text",
          "periodFinish": "text",
          "rewardPerTokenStored": "text",
          "rewardPerTokenStoredFmt": "text",
          "rewardRate": "text",
          "rewardRateFmt": "text",
          "tokenDecimal": "text",
          "priceUsd": "text",
          "apy": "text"
        }
      ],
      "isBoosted": true,
      "isRestaking": true,
      "fetched_at": "text",
      "identifier": "text",
      "userData": {
        "asset": {
          "balance": "text",
          "balanceFmt": "text",
          "balanceUsd": "text"
        },
        "share": {
          "balance": "text",
          "balanceFmt": "text",
          "balanceUsd": "text"
        },
        "pnl": {
          "assetAddress": "text",
          "pnlAsset": "text",
          "pnlAssetFmt": "text",
          "pnlUsd": "text",
          "pnlPercentage": "text"
        }
      },
      "stakedUserData": {
        "asset": {
          "balance": "text",
          "balanceFmt": "text",
          "balanceUsd": "text"
        },
        "share": {
          "balance": "text",
          "balanceFmt": "text",
          "balanceUsd": "text"
        },
        "pnl": {
          "assetAddress": "text",
          "pnlAsset": "text",
          "pnlAssetFmt": "text",
          "pnlUsd": "text",
          "pnlPercentage": "text"
        }
      }
    }
  ]
}

FactorDAO Revenues

/stats/dao-revenues/current

get

Returns the FactorDAO revenues for the current cycle.

Responses
200
success
application/json
get
GET /stats/dao-revenues/current HTTP/1.1
Host: factor-stats-api.fly.dev
Accept: */*
200

success

{
  "estimatedAPR": "text",
  "actualAPR": "text",
  "actualDividendUSD": "text",
  "todayIncome": "text",
  "veFCTRSupply": "text",
  "veFCTRTotalUSD": "text",
  "block": "text",
  "factorPrice": "text",
  "lastDistributionUSD": "text",
  "fetchedAt": "text",
  "last30": {
    "averageAPR": "text",
    "totalDividends": "text",
    "dailyAverageDividends": "text"
  },
  "last60": {
    "averageAPR": "text",
    "totalDividends": "text",
    "dailyAverageDividends": "text"
  }
}

/stats/dao-revenues/{year}/{month}

get

Returns the FactorDAO revenues for the month queried.

Path parameters
yearstringRequired

The year which is being queried in YYYY format.

Example: 2024
monthstringRequired

The month which is being queried in MM format with no leading zeroes.

Example: 6
Responses
200
success
application/json
get
GET /stats/dao-revenues/{year}/{month} HTTP/1.1
Host: factor-stats-api.fly.dev
Accept: */*
200

success

[
  {
    "breakdown": {},
    "revenue": "text",
    "factorPrice": "text",
    "block": "text",
    "vetoken_supply": "text",
    "last_distribution": "text",
    "day": "text",
    "month": "text",
    "year": "text",
    "fetched_At": "text"
  }
]

Last updated

Was this helpful?