withdraw()
Create withdrawal request transaction.
This method calls /solana/{network}/staking/withdraw to create a new unsigned transaction which, if signed and broadcasted, will create a new withdrawal request.
Parameters
await client.solana.withdraw({
feePayer: '9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw',
stakeAccount: '9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw',
withdrawAuthority: '9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw',
recipient: '9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw',
amount: '1002282880',
});| 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. |
| stakeAccount string, required Account address that stores tokens for staking. |
| withdrawAuthority string, required Account address that can perform staking operations with the staking account. |
| recipient string, required Account address to which tokens will be sent. |
| amount string, required Amount of tokens to withdraw in lamports (1 SOL = 10⁹ lamports). |
| 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 compute unit for transaction. |
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",
"stakeAccount": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw",
"withdrawAuthority": "9i5cTqci1W6DHdYfT7WbiNhP5DXvnPNTXvS9fTBFfuSw",
"recipient": "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, required Account address that will pay the fee for the transaction. |
| stakeAccount string Account address that stores tokens for staking. |
| withdrawAuthority string Account address that can perform withdrawal operations with the staking account. |
| recipient string Account address to which tokens will be sent. |
| amount number, required Amount of tokens to withdraw in lamports (1 SOl = 10⁹ lamports). |
| unsignedTransaction string, required Unsigned transaction in Base64 encrypted format. Sign the transaction and submit it to the blockchain to perform the called action. |
| createdAt string, required Timestamp of the transaction in the ISO 8601 format. |
What's next?
- signWithKeypairs()
- verifyTransaction()
- Staking API reference