Endpoints
API Usage
Once you have access to the Staking API with a validated user and existing API keys, you can start using this service.
Try it live
Every endpoint on this page can be executed from the interactive Swagger console, using your own X-API-KEY.
The machine-readable OpenAPI schema is available at:
Authentication
In order to use the Staking API endpoints you need to include your API KEY.
Heads up! To obtain a valid API key required for authentication, please refer to the Authentication > Create API keys section of the documentation.
Header:
| Name | Description | Example value | Required |
|---|---|---|---|
X-API-KEY | Your api key value | <API_KEY_VALUE> | ✅ |
X-NETWORK | Blockchain network/cluster identifier | mainnet-beta | ⚪ |
X-NETWORK header
Use the X-NETWORK header to select the Solana cluster to operate on (e.g., mainnet-beta, devnet).
If you omit the header the API falls back to the default Solana network configured for your account.
List available networks
Use this helper endpoint to obtain the list of Solana JPool networks that are currently enabled for your API key.
- Endpoint:
/api/v1/solana/jpool/networks
Response payload: array of NetworkResponseDto items:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✅ | Internal blockchain entry name |
type | string | ✅ | Blockchain type string (always SOLANA) |
chain_id | string | ✅ | Cluster identifier such as mainnet-beta or devnet |
is_default | boolean | ✅ | true when this network is used as fallback |
Example
curl "https://staking-api.stakely.io/api/v1/solana/jpool/networks" \
-H "X-API-KEY: $STAKELY_API_KEY" \
-H "X-NETWORK: mainnet-beta"
Response:
[
{
"name": "solana",
"type": "SOLANA",
"chain_id": "mainnet-beta",
"is_default": true
}
]
Stake action
Craft a JPool stake transaction:
- Endpoint:
/api/v1/solana/jpool/action/stake
Description
This endpoint crafts a JPool stake transaction ready to be signed. It deposits SOL into the JPool stake pool and mints the liquid pool token (JSOL) representing the staked position.
Request body parameters
| Field | Type | Required | Description |
|---|---|---|---|
wallet_address | string | ✅ | Wallet address of the user that will perform the JPool stake action |
amount | number | ✅ | Amount of SOL to deposit into JPool (minimum 0.003 SOL). Direct stake to validator from network config. |
wallet_address(required): Wallet address that will perform the JPool stake action.amount(required): Amount of SOL to deposit into JPool. Minimum0.003SOL.
Returned
| Field | Type | Required | Description |
|---|---|---|---|
unsigned_tx_hex | string |