Skip to main content
Version: 3.5.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.

note

There is a minimum stake balance for an account to remain being considered a nominator. This is 10AVT. If the user's balance after unstaking falls below the minimum stake balance, the Gateway will unstake the entire stake balance in the same transaction.

await api.send.unstake(amountToUnstake);
important

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

important

You can get the AVN_GATEWAY_URL and Relayer here.

const { AvnApi, SetupMode, SigningMode } = require("avn-api");
const AVN_GATEWAY_URL = "https://gateway.testnet.aventus.io";

const singleUserOptions = {
suri: "0x5392ca60a61aea99fce14358798de93c1bc11c3696a905718738c71fae539c24", // this is from the generated example account
setupMode: SetupMode.SingleUser,
signingMode: SigningMode.SuriBased,
};

const avnSdk = new AvnApi(AVN_GATEWAY_URL, singleUserOptions);

//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 avnSdk.init();
const api = await avnSdk.apis();

let result = await api.send.unstake(amountToUnstake);
// Returns a request id
console.log(result);
}

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

You have now successfully submitted a transaction to the AVN.



tip

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

Validation​

This endpoint can only be called while the eraElectionWindow is closed. If it is called during an election, the following error response will be returned:

{
"code":-32600,
"message":"Invalid Request",
"data": {
"gatewayError":"election window is open",
"request":"{...}"
}