All SOL deposits are sent to a dedicated ‘reserve account’. To stake deposited SOL the tokens from ‘reserved account’ are then sent to ‘stake account’.
Normally it takes 1 epoch to get a deposit fully activated.
The stake is being distributed amongst the selected validators based on the Delegation Strategy.
The pool staking rewards are then allocated according to the Rewards Distribution schedule where 92% of the rewards add to the pool's balance and increase the rate of exchange.
When the delegator triggers an eSOL withdrawal, the stake pool will undelegate a proportional amount of staked SOL for the delegator to withdraw. The exact amount of SOL is calculated based on the following exchange rate:
Number of SOL tokens = number of eSOL tokens * exchange rate
Where the exchange rate is:
Exchange rate of eSOL/SOL = total SOL staked / total eSOL minted
To withdraw their staked SOL, a delegator deposits their eSOL tokens into the stake pool and withdraws their proportional amount of SOL. The withdrawal function then burns the delegators' eSOL tokens, keeping the exchange rate constant.