-
Notifications
You must be signed in to change notification settings - Fork 38
feat: add recommendations for all staking solutions #1664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
it09
wants to merge
17
commits into
main
Choose a base branch
from
staking-overview
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
967977f
added recommendations for each staking solutions
it09 8f25350
fixing spelling
it09 fe9f7af
fixing more
it09 72c3fcb
fix link rot
it09 2581524
fix
it09 8952a10
Merge branch 'main' into staking-overview
novusnota 8cc1151
separate page for single nominator
it09 579d35d
fixing errors
it09 dc43d61
fmt
it09 70bb190
splitting files
it09 b8f5837
Merge branch 'main' into staking-overview
aigerimu 3b61baa
Merge branch 'main' into staking-overview
aigerimu 49e0283
check
aigerimu f34c838
/
aigerimu 3ae6c5a
Merge branch 'main' into staking-overview
aigerimu fc5562a
ci
aigerimu 57d43dc
Merge remote-tracking branch 'origin/staking-overview' into staking-o…
aigerimu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| --- | ||
| title: "Nominator pool contracts" | ||
| sidebarTitle: "Nominator pools" | ||
| --- | ||
|
|
||
| [Nominator pool contracts](https://github.com/ton-blockchain/nominator-pool) allow multiple nominators to delegate their stake to a validator without running validator infrastructure themselves. Funds from nominators are combined with the validator's own stake and used for network validation. The pool contract handles rewards and penalties according to predefined rules. | ||
|
|
||
| ## Key parameters | ||
|
|
||
| - Minimum nominator stake: 10,000 TON, recommended. | ||
| - Maximum nominators per pool: 40. | ||
| - Operational costs: approximately 5 TON per validation round, paid by the validator. | ||
| - Withdrawals: full withdrawal only; partial withdrawals are not supported. | ||
| - Governance: nominators can participate in network configuration voting. | ||
|
|
||
| ## When to use | ||
|
|
||
| Nominator pools are suitable for: | ||
|
|
||
| - Staking below the validator minimum of 300,000 TON. | ||
| - Delegating stake to trusted validators without running infrastructure. | ||
| - Participating in network governance. | ||
| - Using a simple staking model without liquidity tokens or DeFi participation. | ||
|
|
||
| ## How it works | ||
|
|
||
| 1. Nominators deposit funds into a pool managed by a validator. | ||
| 1. The validator stakes the combined funds, including the validator's own and nominators' stakes, for validation. | ||
| 1. Rewards are distributed proportionally: | ||
| - The validator receives a commission defined by `validator_reward_share`. | ||
| - The remaining rewards are distributed to nominators based on their stake size. | ||
| 1. If the validator is penalized: | ||
| - The penalty is first deducted from the validator's balance. | ||
| - If the validator balance is insufficient, losses are deducted proportionally from nominators. | ||
| 1. The validator must maintain enough balance to cover the maximum possible penalties. | ||
|
|
||
| ## How to stake | ||
|
|
||
| 1. Choose a pool on [TON Nominators](https://tonvalidators.org/) and review its parameters, commission, and minimum stake. | ||
| 1. Send a message to the nominator pool contract with: | ||
| - The desired TON amount. | ||
| - The text comment "d" for deposit. | ||
| 1. The sent amount must be at least `min_nominator_stake + 1 TON`, while 1 TON is deducted as the deposit fee. | ||
| 1. If the pool is not currently validating, the deposit is credited immediately; otherwise, it is added to pending deposits. | ||
|
|
||
| ## How to withdraw | ||
|
|
||
| 1. Send a message to the nominator pool contract with: | ||
| - The text comment "w" for withdraw. | ||
| - Approximately 1 TON for network fees. | ||
| 1. If the pool has sufficient balance, the withdrawal is processed immediately. | ||
| 1. If not, a withdrawal request is created and processed later. | ||
| 1. Only full withdrawal is supported. | ||
|
|
||
| ## How to vote | ||
|
|
||
| 1. Find the proposal hash posted in [`@tonblockchain`](https://t.me/tonblockchain) or [`@tonstatus`](https://t.me/tonstatus). | ||
| 1. Send a message with comment `"y<HASH>"` to vote for or `"n<HASH>"` to vote against. | ||
| - Example: `"yD855FFBCF813E50E10BEAB902D1177529CE79785CAE913EB96A72AE8EFBCBF47"`. | ||
| 1. Attach approximately 1 TON for network fees. | ||
|
|
||
| ## Reward calculation | ||
|
|
||
| Reward data can be obtained using the [TON Center nominator pools API](https://toncenter.com/api/smc-index/): | ||
|
|
||
| - [getPoolBookings](/ecosystem/api/toncenter/smc-index/get-pool-bookings-method) — get all the bookings, including debits and credits, in a specified pool. | ||
| - [getNominatorBookings](/ecosystem/api/toncenter/smc-index/get-nominator-bookings-method) — get nominator bookings, including debits and credits, in a specified pool. | ||
| - [getNominatorEarnings](/ecosystem/api/toncenter/smc-index/get-nominator-earnings-method) — get nominator income in a specified pool, including stake amounts on each time point. | ||
| - [getNominator](/ecosystem/api/toncenter/smc-index/get-nominator-method) — get the nominator's balances across all pools in which the nominator participates. | ||
| - [getPool](/ecosystem/api/toncenter/smc-index/get-pool-method) — get pool data, including all nominators. | ||
|
|
||
| ## Validator setup | ||
|
|
||
| - Use [MyTonCtrl nominator pools](/ecosystem/node/mytonctrl/pools#nominator-pool-operations-nominator-pool-mode) for standard multi-nominator operation. | ||
| - Pools can technically be configured with a minimum stake of 100 TON; however, 10,000 TON is the tested and recommended value. | ||
| - Validators can deploy pools manually using the [nominator pool contract](https://github.com/ton-blockchain/nominator-pool) without MyTonCtrl. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[HIGH] Missing safety callout for nominator pool staking and withdrawals
The “How to stake” and “How to withdraw” sections instruct sending TON with specific comments (
"d"for deposit and"w"for withdraw), including fee amounts and behavior when pool liquidity is insufficient. These instructions move funds and directly affect withdrawal behavior, yet the page does not include any<Aside>safety callout summarizing risks, penalties, and testnet vs mainnet usage. The style guide mandates a Caution or Warning callout for such fund-moving and withdrawal-changing steps with clear risk, scope, mitigation, and environment details (https://github.com/ton-org/docs/blob/main/contribute/style-guide-extended.mdx?plain=1#L634-L660). Without this, nominators may deposit or attempt withdrawals on mainnet and face penalties or delayed/blocked withdrawals without adequate warning.Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!