Pools

Get Staking Pools

Retrieve staking pools associated with a specific token.

Endpoint

POST /api/external/v1/staking/pools

Authentication

This endpoint requires API authentication. Include your API key in the request headers.

Request Body

Field
Type
Required
Description

tokenId

string (UUID)

Yes

The unique identifier of the token

cursor

string

No

Pagination cursor for retrieving additional results

Example Request

{
  "tokenId": "123e4567-e89b-12d3-a456-426614174000",
  "cursor": "eyJpZCI6IjEyMyJ9"
}

Response

Returns a list of staking pools for the specified token.

Response Schema

Field
Type
Description

items

array

Array of staking pool objects

total

number

Total number of staking pools

Staking Pool Object

Field
Type
Description

id

string (UUID)

Unique identifier of the staking pool

name

string

Name of the staking pool

tokenId

string (UUID)

Token identifier associated with the pool

contractId

string (UUID)

Smart contract identifier

status

string

Current status of the pool. Possible values: NOT_ACTIVATED, ACTIVATED, DEACTIVATED, PAUSED, FINISHED

totalStaked

string (decimal)

Total amount staked in the pool

totalRewardsDeposited

string (decimal)

Total rewards deposited in the pool

periodFinish

string (ISO 8601)

Pool period finish date and time

minimumStakeAmount

string (decimal)

Minimum amount required to stake

minimumStakeLength

object

Minimum staking duration with value (number) and period (enum). Period values: HOUR, DAY, WEEK, MONTH, YEAR

stakeWithdrawalDelay

object

Delay period for stake withdrawals with value (number) and period (enum). Period values: HOUR, DAY, WEEK, MONTH, YEAR

rewardWithdrawalDelay

object

Delay period for reward withdrawals with value (number) and period (enum). Period values: HOUR, DAY, WEEK, MONTH, YEAR

maxApy

string (decimal)

Maximum Annual Percentage Yield

claimNativeTokenFee

string (decimal)

Fee for claiming native tokens

unstakeNativeTokenFee

string (decimal)

Fee for unstaking native tokens

Example Response

{
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "High Yield Pool",
      "tokenId": "456e7890-e89b-12d3-a456-426614174001",
      "contractId": "789e1234-e89b-12d3-a456-426614174002",
      "status": "ACTIVATED",
      "totalStaked": "1000000.50",
      "totalRewardsDeposited": "50000.25",
      "periodFinish": "2024-12-31T23:59:59.000Z",
      "minimumStakeAmount": "100.00",
      "minimumStakeLength": {
        "value": 7,
        "period": "DAY"
      },
      "stakeWithdrawalDelay": {
        "value": 3,
        "period": "DAY"
      },
      "rewardWithdrawalDelay": {
        "value": 1,
        "period": "DAY"
      },
      "maxApy": "12.50",
      "claimNativeTokenFee": "0.001",
      "unstakeNativeTokenFee": "0.002"
    }
  ],
  "total": 1
}

Error Responses

400 Bad Request

{
  "error": "Invalid request body",
  "message": "tokenId must be a valid UUID"
}

401 Unauthorized

{
  "error": "Unauthorized Request",
  "message": "Token does not belong to your project"
}

404 Not Found

{
  "error": "Token not found",
  "message": "No token found with the provided ID"
}

Rate Limits

This endpoint is subject to standard API rate limits. Please refer to the Rate Limiting documentation for more details.

Notes

  • The cursor parameter is used for pagination when dealing with large result sets

  • All monetary values are returned as decimal strings to maintain precision

  • The periodFinish field is returned as an ISO 8601 formatted date string

  • Period objects contain a value (integer) and period enum with possible values: HOUR, DAY, WEEK, MONTH, YEAR

  • Status values are: NOT_ACTIVATED, ACTIVATED, DEACTIVATED, PAUSED, FINISHED

  • The endpoint validates that the requested token belongs to the authenticated project

Last updated

Was this helpful?