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://testnet.gateway.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":"{...}"
}