> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allium.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Withdrawals

> Staking withdrawals from validator on the network

The `iota.staking.withdrawals` model tracks all staking withdrawals made from validators on the IOTA network.

### Understanding Unstaking

When users unstake their IOTA, they return their pool tokens and receive both their original principal and accumulated rewards. The unstaking process in IOTA has a waiting period before funds are released.

### Unstaking Process

1. User initiates an unstaking request

* The request is processed at the end of the current epoch

* The user receives their principal amount plus rewards

* The rewards are calculated based on the pool token exchange rate at the time of unstaking

### Principal vs. Rewards

The withdrawal data separates the original staked amount (principal) from the earned rewards, allowing for clear tracking of staking returns.

### Table Columns

Unique Key: `unique_id`

| Column                     | Description                                                      |
| -------------------------- | ---------------------------------------------------------------- |
| checkpoint\_timestamp      | Timestamp of when the checkpoint was created                     |
| stake\_activation\_epoch   | The epoch number when the stake was originally activated         |
| unstaking\_epoch           | The epoch number where the IOTA unstake request will be released |
| sender                     | Address of the sender                                            |
| staker\_address            | Address of the staker                                            |
| validator\_address         | Address of the validator                                         |
| pool\_id                   | ID of the staking pool                                           |
| principal\_amount\_str     | Amount of IOTA unstaked (string format for precision)            |
| principal\_amount          | Amount of IOTA unstaked (float format)                           |
| reward\_amount\_str        | Amount of rewards received (string format for precision)         |
| reward\_amount             | Amount of rewards received (float format)                        |
| checkpoint\_sequence       | Sequence number of the checkpoint                                |
| checkpoint\_digest         | Digest of the checkpoint                                         |
| transaction\_block\_digest | Digest of the transaction block                                  |
| transaction\_module        | Module of the transaction                                        |
| event\_seq                 | Sequence number of the event                                     |
| package\_id                | ID of the package                                                |
| unique\_id                 | Unique ID of the withdrawal                                      |
| \_created\_at              | Timestamp when the record was created                            |
| \_updated\_at              | Timestamp when the record was last updated                       |
