Skip to main content
Version: 1.0

Unstake AVT

Unstakes the specified amount of AVT, removing it from earning further staking rewards and (after a period) allowing it to be withdrawn back to the free balance.

await API.send.unstake(amountToUnstake)

This operation uses a relayer account that the sender authorizes to submit the transfer transaction. You can learn more about relayers HERE.


You can get the AVN_GATEWAY_URL and Relayer here.

const AVN_API = require("avn-api");
const AVN_GATEWAY_URL = "<endpoint_url>";
const options = {
suri: "<account_suri>",
relayer: '5FgyN...'
const API = new AVN_API(AVN_GATEWAY_URL, options);

//This can be an address or public key.
const RECIPIENT_ADDRESS = "5DA...gxV";
//Amount of AVT in 18 decimals
var amountToUnstake = "500000000000000000";

async function main() {
await API.init();

let result = await API.send.unstake(amountToUnstake);
// Returns a request id

(async () => {
await main();

You have now successfully submitted a transaction to the AVN.


You can query the state of your transaction here using the returned request id.


This endpoint can only be called while the eraElectionWindow is closed. The status of the Election period can be checked here. If it is called during an election, the following error response will be returned:

"message":"Invalid Request",
"data": {
"gatewayError":"election window is open",