Staking API Overview
Figment's Staking API drastically increases the speed at which developers are able to add new custodial and staking functionalities for many Proof-of-Stake (PoS) assets. Staking API abstracts away all network-specific work and allows API interaction in the exact same way regardless of network or the type of action your user wishes to take.
The Staking API gets you to market faster, by reducing research and discovery work by weeks and the engineering time by months.
Using the Staking API's concepts of flows, actions, inputs, and payloads, it is possible to build dynamic UIs to collect data and guide users through each workflow without the need to hard code specifics for a given network.
Staking Workflow Without Staking API

Staking Workflow With Staking API

Staking API Core Concepts
Flows
The Staking API is based around the concept of a Flow, a specific set of actions to be completed. For example, staking SOL on Solana is one Flow type, and un-staking NEAR is another. A Flow may have multiple steps but will not be considered complete until the delegation is active or the un-staking process is finished.
Actions
At each step in the Flow, Staking API's response contains a JSON object with each possible action that can be taken. For example, the first step in staking on Solana requires SOL be held in a stake account. To achieve this, the API response received from the Staking API indicates two possible actions:
assign_stake_account
to use an existing inactive account.create_stake_account
to create and fund a new account.
Inputs
For each action, a number of inputs indicates what data needs to be collected and submitted to the Staking API in order to build a transaction.
For example, a delegation transaction for Solana requires validator_address
; the vote address of the validator to which the stake is delegated.
Each input includes a display which can be used for human readable input field labels, as well as a description which can be used as a tool tip or other means of clarifying the value that is being collected.
Payloads
For each step in a Flow where a transaction must be signed, the response from the Staking API includes a serialized transaction payload ready for signature. It is your responsibility to manage signing the transaction and submitting the signed Payload back to the Staking API for broadcasting to the network.
Using the Staking API
Now that you are familiar with the core concepts the Staking API uses to navigate complex Flows on various PoS networks, you can take a deeper look at how they all work together in practice. Check out our guide to Working With Staking API Flows.
Figment has also published an NPM package for decoding and signing Staking API transactions: https://www.npmjs.com/package/@figmentio/slate
Learn how to use it with the guide Signing Transactions with Figment's NPM Package
Mainnet Validators
While the Staking API allows you to provide any validator address you wish for staking flows, we provide Figment's mainnet validators here for your convenience.
Network | Validator Address |
---|---|
Avalanche | NodeID-GW7CvXwkPFDsfFHrix1SA148NHF5ZnSXs |
Cosmos | cosmosvaloper1hjct6q7npsspsg3dgvzk3sdf89spmlpfdn6m9d |
Ethereum | N/A (direct delegation - no public validators possible) |
NEAR | figment.poolv1.near |
Polkadot ** | 148TcjWBiBQT4oYE6EGY4Q94242sFnaG4g1gogJhe2Yhiz8N |
Polygon | 0x6ae6c540c7b110d5c01cb9bc23297a013f9f4982 |
Solana | CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1 |
** Due to the way nominations are managed by the Polkadot protocol, we recommend proxying nomination rights to Figment and allowing us to manage nominations on your behalf. Please review the guide Setup a Staking Nomination Proxy, or contact us directly in order to discuss this option.
Testnet Explorers
We generally can not guarantee consistent availability of testnet validators, so we provide links to a block explorer's testnet validator index when possible.
Network | Link to Testnet Validators |
---|---|
Avalanche | https://explorer-xp.avax-test.network/validators |
Cosmos | https://explorer.theta-testnet.polypore.xyz/validators |
Ethereum | https://prater.beaconcha.in/validators |
NEAR | https://explorer.testnet.near.org/nodes/validators |
Polkadot | https://westend.subscan.io/validator |
Polygon | https://staking.polygon.technology/validators |
Solana | https://explorer.solana.com/?cluster=testnet |
Testnet Faucets
For your convenience we provide the links to the supported protocols testnet faucets so you can get some testnet tokens and test the Staking API.
Network | Testnet Faucet |
---|---|
Avalanche | https://faucet.avax.network |
Cosmos | The faucet is located on Comsos Discord server. In the testnet-faucet channel, you need to type $request <COSMOS_TESTNET_ADDRESS> theta to get your testnet ATOM tokens. |
Ethereum | https://goerli-faucet.mudit.blog |
NEAR | NEAR gives you 200 NEAR testnet tokens when you create a new testnet account. |
Polkadot | The faucet is located at Matrix.org messaging app. In the chat interface, you need to type !drip <WESTEND_ADDRESS> to get your WND tokens. |
Polygon | https://faucet.polygon.technology |
Solana | https://solfaucet.com |