API Endpoints

Comprehensive documentation for all available Solana Index Fund API endpoints.

Base URL

All API endpoints are relative to the following base URL:

https://api.sindex.world/v1

For direct Solana RPC interactions, you can use our dedicated RPC endpoint:

https://rpc.sindex.world

For development and testing purposes, you can also use our staging environment:

https://api-staging.sindex.world/v1

Note: The staging environment may contain experimental features and should not be used in production applications.

Index Endpoints

These endpoints provide data about the Solana Index Fund indexes, including composition, performance, and historical data.

GET/indexes
Get all indexes

Returns a list of all available indexes with their basic information.

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoMaximum number of results to return (default: 10, max: 100)
offsetintegerNoNumber of results to skip (default: 0)

Response Example

{
  "success": true,
  "data": [
    {
      "id": "sindex",
      "name": "SINDEX",
      "description": "Main index tracking the Solana ecosystem",
      "current_price": 1.25,
      "price_change_24h": 0.05,
      "price_change_percentage_24h": 4.17,
      "market_cap": 12500000,
      "total_supply": 10000000,
      "circulating_supply": 8500000,
      "last_updated": "2025-05-15T12:00:00Z"
    },
    {
      "id": "mindex",
      "name": "MINDEX",
      "description": "Meme token index",
      "current_price": 0.75,
      "price_change_24h": 0.03,
      "price_change_percentage_24h": 4.17,
      "market_cap": 3750000,
      "total_supply": 5000000,
      "circulating_supply": 4200000,
      "last_updated": "2025-05-15T12:00:00Z"
    }
  ],
  "count": 2,
  "total": 4
}
GET/indexes/{index_id}
Get index details

Returns detailed information about a specific index.

Path Parameters

ParameterTypeRequiredDescription
index_idstringYesID of the index (e.g., sindex, mindex, dindex, nindex)

Response Example

{
  "success": true,
  "data": {
    "id": "sindex",
    "name": "SINDEX",
    "description": "Main index tracking the Solana ecosystem",
    "current_price": 1.25,
    "price_change_24h": 0.05,
    "price_change_percentage_24h": 4.17,
    "market_cap": 12500000,
    "total_supply": 10000000,
    "circulating_supply": 8500000,
    "volume_24h": 2500000,
    "ath": 1.5,
    "ath_date": "2025-04-15T10:30:00Z",
    "atl": 0.5,
    "atl_date": "2025-01-10T08:15:00Z",
    "composition": {
      "mindex": 40,
      "dindex": 30,
      "nindex": 30
    },
    "token_address": "SiND3xFQnKvMviaRsfULXEuDfjyNvRyREDFT9uJUwap",
    "decimals": 9,
    "token_program": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
    "last_rebalance": "2025-05-15T06:00:00Z",
    "next_rebalance": "2025-05-15T12:00:00Z",
    "last_updated": "2025-05-15T12:00:00Z"
  }
}
GET/indexes/{index_id}/constituents
Get index constituents

Returns the constituent tokens of a specific index with their weights.

Path Parameters

ParameterTypeRequiredDescription
index_idstringYesID of the index (e.g., sindex, mindex, dindex, nindex)

Response Example

{
  "success": true,
  "data": {
    "index_id": "mindex",
    "constituents": [
      {
        "token_id": "bonk",
        "name": "Bonk",
        "symbol": "BONK",
        "weight": 25,
        "price": 0.000012,
        "market_cap": 500000000,
        "address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
      },
      {
        "token_id": "wif",
        "name": "Dogwifhat",
        "symbol": "WIF",
        "weight": 20,
        "price": 0.45,
        "market_cap": 400000000,
        "address": "8p12Cj7jY3aZaAXpJgXB3xAW4CcBBEJR3r11pYGKhgc"
      },
      {
        "token_id": "popcat",
        "name": "Popcat",
        "symbol": "POPCAT",
        "weight": 15,
        "price": 0.08,
        "market_cap": 300000000,
        "address": "P0pCatXB7ooJznvjmLpH4Uh5qqcjEbsKEMiMDEVHbN"
      }
    ],
    "last_updated": "2025-05-15T12:00:00Z"
  }
}
GET/indexes/{index_id}/history
Get index price history

Returns historical price data for a specific index.

Path Parameters

ParameterTypeRequiredDescription
index_idstringYesID of the index (e.g., sindex, mindex, dindex, nindex)

Query Parameters

ParameterTypeRequiredDescription
intervalstringNoTime interval (1m, 5m, 15m, 1h, 4h, 1d, 1w) (default: 1d)
fromtimestampNoStart time in ISO 8601 format (default: 7 days ago)
totimestampNoEnd time in ISO 8601 format (default: now)

Response Example

{
  "success": true,
  "data": {
    "index_id": "sindex",
    "interval": "1d",
    "prices": [
      {
        "timestamp": "2025-05-08T00:00:00Z",
        "price": 1.15,
        "volume": 2100000,
        "market_cap": 11500000
      },
      {
        "timestamp": "2025-05-09T00:00:00Z",
        "price": 1.18,
        "volume": 2200000,
        "market_cap": 11800000
      },
      {
        "timestamp": "2025-05-10T00:00:00Z",
        "price": 1.2,
        "volume": 2300000,
        "market_cap": 12000000
      },
      {
        "timestamp": "2025-05-11T00:00:00Z",
        "price": 1.22,
        "volume": 2400000,
        "market_cap": 12200000
      },
      {
        "timestamp": "2025-05-12T00:00:00Z",
        "price": 1.21,
        "volume": 2350000,
        "market_cap": 12100000
      },
      {
        "timestamp": "2025-05-13T00:00:00Z",
        "price": 1.23,
        "volume": 2450000,
        "market_cap": 12300000
      },
      {
        "timestamp": "2025-05-14T00:00:00Z",
        "price": 1.24,
        "volume": 2480000,
        "market_cap": 12400000
      },
      {
        "timestamp": "2025-05-15T00:00:00Z",
        "price": 1.25,
        "volume": 2500000,
        "market_cap": 12500000
      }
    ]
  }
}

Market Endpoints

These endpoints provide market data for the Solana Index Fund ecosystem, including trading pairs, liquidity, and market statistics.

GET/market/stats
Get market statistics

Returns overall market statistics for the Solana Index Fund ecosystem.

Response Example

{
  "success": true,
  "data": {
    "total_market_cap": 30000000,
    "total_volume_24h": 5000000,
    "total_indexes": 4,
    "total_tokens_tracked": 50,
    "sindex_dominance": 41.67,
    "mindex_dominance": 12.5,
    "dindex_dominance": 25,
    "nindex_dominance": 20.83,
    "last_updated": "2025-05-15T12:00:00Z"
  }
}
GET/market/pairs
Get trading pairs

Returns information about trading pairs for Solana Index Fund tokens.

Query Parameters

ParameterTypeRequiredDescription
index_idstringNoFilter by index ID (e.g., sindex, mindex)
exchangestringNoFilter by exchange (e.g., jupiter, raydium, orca)

Response Example

{
  "success": true,
  "data": [
    {
      "pair_id": "sindex_usdc",
      "base_token": "SINDEX",
      "quote_token": "USDC",
      "exchange": "Jupiter",
      "price": 1.25,
      "volume_24h": 1500000,
      "liquidity": 2500000,
      "price_change_percentage_24h": 4.17,
      "last_updated": "2025-05-15T12:00:00Z"
    },
    {
      "pair_id": "sindex_sol",
      "base_token": "SINDEX",
      "quote_token": "SOL",
      "exchange": "Raydium",
      "price": 0.012,
      "volume_24h": 1000000,
      "liquidity": 2000000,
      "price_change_percentage_24h": 3.5,
      "last_updated": "2025-05-15T12:00:00Z"
    },
    {
      "pair_id": "mindex_usdc",
      "base_token": "MINDEX",
      "quote_token": "USDC",
      "exchange": "Orca",
      "price": 0.75,
      "volume_24h": 800000,
      "liquidity": 1500000,
      "price_change_percentage_24h": 4.17,
      "last_updated": "2025-05-15T12:00:00Z"
    }
  ]
}

User Endpoints

These endpoints provide user-specific data and functionality, requiring authentication with an API key.

GET/user/portfolio
Get user portfolio

Returns the authenticated user's portfolio information.

Headers

HeaderTypeRequiredDescription
AuthorizationstringYesBearer {api_key}

Response Example

{
  "success": true,
  "data": {
    "user_id": "user_123456",
    "total_value_usd": 5000,
    "holdings": [
      {
        "token_id": "sindex",
        "name": "SINDEX",
        "symbol": "SINDEX",
        "amount": 2000,
        "value_usd": 2500,
        "percentage": 50,
        "price": 1.25,
        "price_change_percentage_24h": 4.17
      },
      {
        "token_id": "mindex",
        "name": "MINDEX",
        "symbol": "MINDEX",
        "amount": 1500,
        "value_usd": 1125,
        "percentage": 22.5,
        "price": 0.75,
        "price_change_percentage_24h": 4.17
      },
      {
        "token_id": "dindex",
        "name": "DINDEX",
        "symbol": "DINDEX",
        "amount": 1000,
        "value_usd": 900,
        "percentage": 18,
        "price": 0.9,
        "price_change_percentage_24h": 2.27
      },
      {
        "token_id": "nindex",
        "name": "NINDEX",
        "symbol": "NINDEX",
        "amount": 500,
        "value_usd": 475,
        "percentage": 9.5,
        "price": 0.95,
        "price_change_percentage_24h": 1.06
      }
    ],
    "staking": {
      "total_staked_value_usd": 2000,
      "total_rewards_usd": 250,
      "positions": [
        {
          "token_id": "sindex",
          "amount": 1000,
          "value_usd": 1250,
          "rewards_usd": 150,
          "apy": 12.5,
          "lock_end_date": "2025-06-15T00:00:00Z"
        },
        {
          "token_id": "mindex",
          "amount": 1000,
          "value_usd": 750,
          "rewards_usd": 100,
          "apy": 15,
          "lock_end_date": "2025-05-29T00:00:00Z"
        }
      ]
    },
    "last_updated": "2025-05-15T12:00:00Z"
  }
}
POST/user/stake
Stake tokens

Initiates a staking transaction for the authenticated user.

Headers

HeaderTypeRequiredDescription
AuthorizationstringYesBearer {api_key}
Content-TypestringYesapplication/json

Request Body

{
  "token_id": "sindex",
  "amount": 500,
  "lock_period": 30
}

Response Example

{
  "success": true,
  "data": {
    "transaction_id": "tx_789012",
    "token_id": "sindex",
    "amount": 500,
    "value_usd": 625,
    "lock_period": 30,
    "lock_end_date": "2025-06-14T12:00:00Z",
    "apy": 12.5,
    "estimated_rewards": 20.83,
    "status": "pending",
    "created_at": "2025-05-15T12:00:00Z"
  }
}

Error Handling

All API endpoints follow a consistent error handling pattern. When an error occurs, the API returns a JSON response with an error code and message.

Error Response Format

{
  "success": false,
  "error": {
    "code": "invalid_api_key",
    "message": "The provided API key is invalid or has expired.",
    "status": 401
  }
}

Common Error Codes

Error CodeStatusDescription
invalid_api_key401The provided API key is invalid or has expired.
insufficient_permissions403The API key does not have permission to access this resource.
resource_not_found404The requested resource was not found.
validation_error422The request contains invalid parameters or data.
rate_limit_exceeded429The API rate limit has been exceeded.
internal_server_error500An unexpected error occurred on the server.