The Staking API provides endpoints to interact with token staking contracts on the Fuse network. It lets you discover available staking options with their current APR and TVL, generate the encoded transaction data needed to stake or unstake tokens, and query the staked token balances for any wallet address. The API returns encoded contract ABI calldata that your application submits to the network rather than submitting the transaction itself, giving you full control over gas and signing.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/fuseio/fuse-docs/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
Authentication
Pass your public API key as a query parameter on every request:Endpoints
GET /staking_options — Retrieve staking options
Returns all available staking pools on the Fuse network, including the staking token, annual percentage rate (APR), total value locked (TVL), and the staking provider identifier. Endpoint:GET https://api.fuse.io/api/v0/staking/staking_options?apiKey={apiKey}
Request parameters
Your public API key.
Response
Returns an array of staking option objects.The contract address of the token that can be staked.
Ticker symbol for the stakeable token (e.g.,
"FUSE").Full name of the stakeable token.
URL to the token’s logo image.
The contract address of the token received when unstaking (the receipt/staked token).
Identifier for the staking provider or contract.
Current annual percentage rate for this staking pool.
Total value locked in this staking pool, in USD.
Whether this staking option is still active.
Example
POST /stake — Stake tokens
Generates the encoded ABI calldata required to stake a specified amount of tokens. Submit the returnedcontractAddress and encodedABI in a transaction from the user’s wallet.
Endpoint: POST https://api.fuse.io/api/v0/staking/stake?apiKey={apiKey}
Request parameters
Your public API key.
Request body
The wallet address that will perform the staking.
The contract address of the token to stake.
The amount to stake in the token’s base unit (e.g., wei for 18-decimal tokens).
Response
The staking contract address to send the transaction to.
Hex-encoded ABI calldata to include in the transaction’s
data field.Example
POST /unstake — Unstake tokens
Generates the encoded ABI calldata required to unstake (withdraw) a specified amount of staked tokens. The request body mirrors the/stake endpoint.
Endpoint: POST https://api.fuse.io/api/v0/staking/unstake?apiKey={apiKey}
Request parameters
Your public API key.
Request body
The wallet address performing the unstaking.
The contract address of the staked token to withdraw.
The amount to unstake in the token’s base unit.
Response
The staking contract address to send the transaction to.
Hex-encoded ABI calldata to include in the transaction’s
data field.Example
GET /staked_tokens/ — Get staked tokens by wallet
Retrieves all staked token positions for a specific wallet address, including total USD value staked and total earnings. Endpoint:GET https://api.fuse.io/api/v0/staking/staked_tokens/{accountAddress}?apiKey={apiKey}
Request parameters
The wallet address to query staked tokens for.
Your public API key.
Response
Total current value of all staked tokens for this wallet, in USD.
Total earnings accumulated across all staking positions, in USD.
Array of staking positions. Each item follows the same structure as a staking option (see
/staking_options response fields).Example
Error responses
| Status | Description |
|---|---|
403 | Forbidden — invalid or missing API key |