# 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)](/gen6-community/gen6-public-chain-user-info.md#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](https://g.g6.network/g6-networks-release/gen6-snippets/-/blob/main/GSX_to_AURA_Converter.py?ref_type=heads) converter.

#### Types of GSX Balances <a href="#balance-types" id="balance-types"></a>

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.&#x20;

#### 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.gen6.life/developer-resources/gsx-balances-explained.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
