GSX Balances Explained

Gen6 GSX is a core component of the Gen6 ecosystem, responsible for managing and stabilizing resource allocations across various processes within the ecosystem, such as balance transfers or parking calls. It works through our Substrate implementation.

Gen6 Addresses are only active if they have more than the ED (Existential Deposit).

GSX and AURA

We use GSX as the primary unit name and AURA for smaller denominations.

GSX   = "Generation Six Extremum"
AURA  = "Atto Unit Root Amount"
AURA  = aGSX (This name can be used too if AURA is too confusing for users.)
1 GSX = 10^18 AURA

Examples:
1 GSX = 1000000000000000000 AURA
9000 GSX = 9000000000000000000000 AURA

To verify your calculations you can use the GSX x AURA converter.

Types of GSX Balances

  1. Free Balance: The balance that can be spent anytime and is not reserved anywhere.

  2. Reserved Balance: The balance that is kept reserved for system or governance actions.

  3. Frozen Balance: When reaching ED (Existential Deposit) a minimal amount of balance is frozen, keeping the account alive long-term. Frozen balances cannot be punished or slashed.

Parking states

  1. Parking: The balance that is being parked. It is callable through the parking.park() function. Balances get parked next Wednesday.

  2. Parked: Securely parked balance and it cannot be moved.

  3. Unparking: Balance which is being unparked after the parking.unpark() call - still cannot be moved until unparking finishes.

  4. Withdrawable: Balance that can be withdrawn anytime. It becomes Free Balance after the paking.unfreeze() call.

User-facing terminology

  1. Free Balance: The balance you can spend anytime.

  2. Locked Balance: The balance which is locked for ecosystem participation or parking.

When talking to non-hackers/non-techies, only use these two terms or they will get confused.

Moving GSX balances

You can move balances using the following Balances pallet calls (dst=destination, val=value, ka=keepalive):

  1. transferKeepAlive(dst, val): That is basically the common balance transfer with keep alive, so it won't allow going under ED.

  2. transferAll(dst, ka): Transfer all balances with or without keep alive.

  3. transferAllowDeath(dst, val): That is the transfer for full amount and allowing the address to become reaped.

  4. burn(val, ka): To burn tokens with or without keep alive.

  5. Note: calls starting with "force" are used by sudo or governance.

Reading GSX balances

You can use the following call to get information about GSX balances (acc=public gsx account address):

  1. system.account(acc): Returns Free, Frozen and Reserved balances.

Last updated

Was this helpful?