stake()
Create staking request transaction.
This method calls /solana/{network}/staking/stake to create a new unsigned transaction which, if signed and broadcasted, will create a new staking request.
await client.solana.stake({
feePayer: '9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw',
fromPublicKey: '9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw',
amount: '1002282880',
});Parameters
| network string Solana network: mainnet-beta — production network.testnet — testnet.If not specified, the method will use the default value from the constructor . |
| feePayer string, required Account address that will pay the fee for the transaction. |
| fromPublicKey string, required Account address from which the staking account will be created. |
| nonceAccount string Account address that keeps the value of the nonce. |
| computeUnitLimit number ≥ 1 Maximum computational effort limit for the transaction measured in compute units. |
| computeUnitPrice number ≥ 1 Price of a compute unit for the transaction in micro-lamports (1 microLamport = 10⁻⁶ lamports). |
| stakeAuthority string Account address that can perform staking operations with the staking account. If not specified, rights will be taken from the fromPublicKey parameter. |
| withdrawAuthority string Account address that can perform withdrawal operations with the staking account. If not specified, rights will be taken from the fromPublicKey parameter. |
| amount string, required Amount of tokens to stake in lamports (1 SOL = 10⁹ lamports). Min amount is '1002282880'. |
Result
The method returns a JSON object that contains a base64-encoded unsigned transaction and some metadata about it.
You can decode the transaction using decodeTransaction() or pass it directly to signWithKeypairs().
{
"feePayer": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw",
"fromPublicKey": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw",
"stakeAccount": "6ZuLUCwVTvuQJrN1HrpoHJheQUw9Zk8CtiD3CEpHiA9E",
"stakeAuthority": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw",
"withdrawAuthority": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw",
"amount": 1,
"unsignedTransaction": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAcJjkQt4XcX43Vk8FZ7QbUVXSF5oo9jt7x2Dm0E9ut/y+jagnMHpK8BDHt0PpssHwXGD2fBxS6MWBoxptD2u9TvrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1NjSeWM5+GSJdoQd43Al9SVVXC9FfWGwbe7icpomwAUGodgXkTdUKpg0N73+KnqyVX9TXIp4citopJ3AAAAAAAah2BelAgULaAeR5s5tuI4eW3FQ9h/GeQpOtNEAAAAABqfVFxjHdMkoVmOYaR1etoteuKObS21cc1VbIQAAAAAGp9UXGSxcUSGMyUw9SvF/WNruCJuh/UTj29mKAAAAAAan1RcZNYTQ/u2bs0MdEyBr5UQoG1e4VmzFN1/0AAAAijW940iwWddz25ZC37fI0ue5fa+eTbC2ynBM3b0t4pcDAgMAAQBgAwAAAI5ELeF3F+N1ZPBWe0G1FV0heaKPY7e8dg5tBPbrf8voBAAAAAAAAABzZWVkgJaYAAAAAADIAAAAAAAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABAIBB3QAAAAAjkQt4XcX43Vk8FZ7QbUVXSF5oo9jt7x2Dm0E9ut/y+iORC3hdxfjdWTwVntBtRVdIXmij2O3vHYObQT263/L6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQGAQMGCAUABAIAAAA=",
"createdAt": "2023-08-24T08:14:50.455Z"
}| feePayer string Account address that will pay the fee for the transaction. |
| fromPublicKey string Account address from which the staking account will be created. |
| stakeAccount string Account address that stores tokens for staking. |
| stakeAuthority string Account address that can perform staking operations with staking account. |
| withdrawAuthority string Account address that can perform withdrawal operation with staking account. |
| amount number Amount of tokens to stake in lamports (1 SOl = 10⁹ lamports). Min amount is 1002282880. |
| unsignedTransaction string Unsigned transaction in Base64 encrypted format. Sign the transaction and submit it to the blockchain to perform the called action. |
| createdAt string Timestamp of the transaction in the ISO 8601 format. |
What's next?
- decodeTransaction()
- signWithKeypairs()
- Staking API reference
Updated 4 months ago
Did this page help you?