Buyback and burn
Part of GAMA's share of fees buys the GAMA token and burns it in the same transaction. The purchases come in small rounds, each limited by how far it moves GAMA's price, so they grow with GAMA's market instead of buying a fixed amount.
Where the money comes from
GAMA's own share of fees is split 70% to the treasury and 30% to the buyback-and-burn. GAMA's share includes the 30% of the trading fee on standard launches, the whole trading fee on reward launches, creation fees, and the holder fees that nobody could receive. See Protocol revenue.
For example, a buy of 0.1 test ETH on a standard ETH launch adds 0.0003 ETH to GAMA's share, of which 0.00009 ETH waits to buy GAMA.
The buyback's share builds up in GAMA's fee contract, in whatever asset the fees were paid in. It keeps building while rounds wait or are paused. It is never paid out to anyone, and the buyback contract has no way to use it for anything else.
What each asset is used for
- ETH buys GAMA, in rounds, and the GAMA is burned in the same transaction. ETH itself is never burned.
- GAMA is burned directly, the whole balance at once, with no purchase. It comes from launches priced in GAMA.
- Any other asset goes to the treasury. It comes from launches priced in other launch tokens. Anyone can send it there; the amount is always the whole balance, and the destination is always the treasury that GAMA's admin set.
Rounds
GAMA's buyback operator starts each round. The buyback contract itself enforces the limits:
- 1% per round. A round buys at most the GAMA that raises GAMA's price by 1%, measured from the price at that moment. When less ETH is waiting, the round spends all of it.
- 60 seconds apart. Rounds are at least 60 seconds apart. The operator adds a random delay of up to 20 seconds.
- 5% per hour. The price rises from all rounds add up to at most 5% in any 3,600 seconds. When the hour's allowance is nearly used, the next round is smaller.
- Worth its gas. A round must spend at least 20 times its network fee. When less ETH is waiting, it waits.
Because a 1% price rise costs more ETH when there is more liquidity, rounds grow as GAMA's market grows.
Where rounds buy
While GAMA is on its bonding curve, rounds buy on the curve. After graduation they buy in GAMA's pool, as they do on the testnet now. The buyback contract reads GAMA's current market from the launch's own record, so neither the operator nor GAMA's admin chooses the route. While graduation is under way, no round can run and the ETH waits.
When GAMA's market changes, after graduation or a migration, rounds wait 60 seconds after the buyback contract first sees the new pool.
In the pool, a round spends no more than the protocol's own locked liquidity needs to move the price by 1%. Liquidity that others add can make a round's price rise smaller, but never makes the round spend more.
Buybacks pay no trading fees, and their curve purchases are exempt from buy limits, because the GAMA is burned in the same transaction.
Price protection
- A bound on the starting price. Just before sending a round, the operator reads GAMA's price again and adds a small margin, 0.5%. A round that would start above that price is refused, so pushing the price up right before a round does not make the round buy at the pushed price.
- A minimum from the live price. The contract works out the least GAMA the round must receive from the price at that moment, allowing only for the round's own 1% rise and the pool's fee. A round that would receive less does not happen. A round is not refused because the market moved earlier.
- Trading around a round loses money. Only the operator can start a round. Someone who buys GAMA just before a round and sells just after pays the 1% trading fee on both trades, about 2% in total, and gains at most the round's own 1% rise. Addresses that GAMA's admin has exempted from fees are the exception; see Fees and creator tax.
These limits make manipulation unprofitable in the cases tested. They are not proven to stop every attack.
Settings
GAMA's admin sets these values. A change applies to later rounds only.
| Setting | Initial value | Allowed range |
|---|---|---|
| Largest price rise of one round | 1% | 0.1% to 10% |
| Largest total price rise in any hour | 5% | The per-round value to 50% |
| Least time between rounds | 60 seconds | 10 seconds to 1 day |
| Least ETH spent per round, as a multiple of its network fee | 20 | 0 (no minimum) to 100 |
| Wait after a new pool is first seen | 60 seconds | 10 seconds to 7 days |
Burning
Bought GAMA goes to the dead address, which nobody controls, in the same transaction as the purchase. The total supply number does not change; the GAMA page shows how much has been burned and how much remains in circulation.
Replacing or pausing the buyback
GAMA's admin can switch to a new buyback contract at once. Only the current one can buy, burn or send assets to the treasury, and only it pays no fees and skips the buy limits. Anyone can move the funds waiting in a former buyback contract to the current one. Each contract keeps its own hourly total, so after a switch the hourly limit starts again.
GAMA's admin can also pause buybacks. A pause stops rounds, direct burns and transfers to the treasury. It does not stop fees from being collected, claims, trading, or moving funds to a newer buyback contract.
