Page cover

API

YO Protocol API

Anyone can use the API to fetch historical information at the protocol or address-level.

Base URL: https://api.yo.xyz

Protocol-level data

Get a snapshot of the current TVL, yield, underlying pools and allocation of the protocol vaults.

get
Path parameters
vaultAddressstringRequired
networkstring · enumRequiredPossible values:
Responses
200Success

No content

get
/api/v1/vault/{network}/{vaultAddress}
GET /api/v1/vault/{network}/{vaultAddress} HTTP/1.1
Host: 
Accept: */*
200Success

No content

Check the status of pending redeem requests for a given YO vault on a given blockchain.

get
Path parameters
vaultAddressstringRequired
networkstring · enumRequiredPossible values:
Responses
200Success
application/json
Responseall of
and
get
/api/v1/vault/pending-redeems/{network}/{vaultAddress}
GET /api/v1/vault/pending-redeems/{network}/{vaultAddress} HTTP/1.1
Host: 
Accept: */*
200Success
{
  "data": {
    "raw": 1,
    "formatted": "text"
  },
  "message": "text",
  "statusCode": 200
}

Fetch the historical yield of a specific YO vault.

get
Path parameters
vaultAddressstringRequired
networkstring · enumRequiredPossible values:
Responses
200Success

No content

get
/api/v1/vault/yield/timeseries/{network}/{vaultAddress}
GET /api/v1/vault/yield/timeseries/{network}/{vaultAddress} HTTP/1.1
Host: 
Accept: */*
200Success

No content

Fetch the historical TVL of a specific YO vault

get
Path parameters
vaultAddressstringRequired
networkstring · enumRequiredPossible values:
Responses
200Success

No content

get
/api/v1/vault/tvl/timeseries/{network}/{vaultAddress}
GET /api/v1/vault/tvl/timeseries/{network}/{vaultAddress} HTTP/1.1
Host: 
Accept: */*
200Success

No content

User-level data

Fetch the historical deposits and withdrawals of a specific address for a specific YO vault on a specific blockchain.

get
Path parameters
vaultAddressstringRequired
userAddressstringRequired
networkstring · enumRequiredPossible values:
Query parameters
limitnumberOptional
Responses
200Success

No content

get
/api/v1/history/user/{network}/{vaultAddress}/{userAddress}
GET /api/v1/history/user/{network}/{vaultAddress}/{userAddress} HTTP/1.1
Host: 
Accept: */*
200Success

No content

Fetch the pending redemptions for a specific user on a specific vault

get
Path parameters
vaultAddressstringRequired
userAddressstringRequired
networkstring · enumRequiredPossible values:
Responses
200Success
application/json
Responseall of
and
get
/api/v1/vault/pending-redeems/{network}/{vaultAddress}/{userAddress}
GET /api/v1/vault/pending-redeems/{network}/{vaultAddress}/{userAddress} HTTP/1.1
Host: 
Accept: */*
200Success
{
  "data": {
    "assets": {
      "raw": 1,
      "formatted": "text"
    },
    "shares": {
      "raw": 1,
      "formatted": "text"
    }
  },
  "message": "text",
  "statusCode": 200
}

Get user points information

get
Path parameters
walletAddressstringRequired

User wallet address

Responses
200

User points

application/json
get
/api/v1/users/wallet/{walletAddress}/points
GET /api/v1/users/wallet/{walletAddress}/points HTTP/1.1
Host: 
Accept: */*
{
  "totalPoints": 20000,
  "rewardRates": [
    {
      "rate": "5 points per $1 every day",
      "desc": "5 points per $1 every day"
    }
  ],
  "estimatedTimeToEarnMore": "2025-02-28T12:00:00Z",
  "pointsEarnedYesterday": 1000,
  "pointsFromReferralsYesterday": 1000,
  "pointsFromDefiActivitiesYesterday": 1000,
  "averagePositionValueYesterday": 1000,
  "partnerMultiplier": 0.5,
  "partnerId": "safepal",
  "totalReferralPoints": 1000,
  "eligibleActivities": [
    "Euler#Lender",
    "Euler#Collateral"
  ],
  "totalDailyDropPoints": 1000,
  "totalDefiActivitiesPoints": 1000
}

Last updated