# The Open Network (TON)

## Validators

Kiln offers both Pooled and Single Nominator Pool contracts for TON staking. Below are the specifics of each solution.

{% hint style="warning" %}
If you plan to stake through Single Nominator, please contact your Kiln CSM to set up your dedicated contracts.
{% endhint %}

<table><thead><tr><th>Staking Solution</th><th align="center" valign="middle"> Pooled</th><th align="center">Single Nominator Pool</th></tr></thead><tbody><tr><td>Maximum Nominators</td><td align="center" valign="middle">No limit</td><td align="center">1</td></tr><tr><td>Minimum stake</td><td align="center" valign="middle">10 TON</td><td align="center">700k - 1m TON</td></tr><tr><td>Vesting Contract Support</td><td align="center" valign="middle"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Partial Withdraw Support</td><td align="center" valign="middle"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span>*</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr><tr><td>Commission</td><td align="center" valign="middle">Onchain</td><td align="center">Off Chain</td></tr><tr><td>In-protocol validator balancing</td><td align="center" valign="middle"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center">n/a</td></tr><tr><td>Auto-compounding</td><td align="center" valign="middle"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td></tr></tbody></table>

\* partial withdrawal is not supported for vesting contracts&#x20;

{% tabs %}
{% tab title="Pools - Mainnet" %}

<table><thead><tr><th width="97.703125" align="center">Name</th><th width="121.4453125" align="center">Comission</th><th width="456.34375" align="center">Address</th></tr></thead><tbody><tr><td align="center">Kiln 1 </td><td align="center">15%</td><td align="center"><a href="https://tonviewer.com/EQBDeq6wDuTBDkKUlXSfUBdbxz1z4v1nNX8vBOEgz2IA-IQS"><code>EQBDeq6wDuTBDkKUlXSfUBdbxz1z4v1nNX8vBOEgz2IA-IQS</code></a></td></tr><tr><td align="center">Kiln 2</td><td align="center">15%</td><td align="center"><a href="https://tonviewer.com/EQCGXN12Cezmurk-BdzagP7bR1bp7GT-JrGDm8juleoVGzbI"><code>EQCGXN12Cezmurk-BdzagP7bR1bp7GT-JrGDm8juleoVGzbI</code></a></td></tr></tbody></table>
{% endtab %}

{% tab title="Pools - Testnet" %}

<table><thead><tr><th width="146" align="center">Name</th><th align="center">Address</th></tr></thead><tbody><tr><td align="center">Kiln 1</td><td align="center"><a href="https://testnet.tonviewer.com/kQB2rznsulNbPGGlCv78SrUFu6dITzN3CYZhuZybe3rQaAf-"><code>kQB2rznsulNbPGGlCv78SrUFu6dITzN3CYZhuZybe3rQaAf-</code></a></td></tr><tr><td align="center">Kiln 2</td><td align="center"><a href="https://testnet.tonviewer.com/kQD3uOXuqkwL9WL3aGpu60-56J_4JARIkEfiKWwRTyfyp7IO"><code>kQD3uOXuqkwL9WL3aGpu60-56J_4JARIkEfiKWwRTyfyp7IO</code></a></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

## Staking mechanics

<table data-header-hidden><thead><tr><th width="331">Parameter</th><th>Value</th></tr></thead><tbody><tr><td><strong>Stake activation time</strong></td><td>Next Epoch (~18 hours)</td></tr><tr><td><strong>Stake lock-up time</strong> </td><td>One Epoch (~18 hours) + 9 hours</td></tr><tr><td><strong>Rewards frequency</strong></td><td><p>TON has a continuous validation mechanism that is split across 2 overlapping epochs (best visualised <a href="https://tonscan.com/validation">here</a>) each lasting approximately 36 hours.</p><p></p><p>First rewards:  Upon completion of first epoch where funds were actively elected for validation.<br><br>Rewards frequency:  ~18 hours when staked across both epochs else ~36 hours. Single Nominator Pool automatically allocate across epochs when there is enough balance to ensure elected to active set</p></td></tr><tr><td><strong>Auto-compounding</strong></td><td>Yes</td></tr><tr><td><strong>Minimum requirement</strong></td><td><ul><li><strong>Pooled:</strong> 10 TON</li><li><strong>Single Nominator Pool:</strong> 700k TON</li></ul></td></tr><tr><td><strong>Maximal optimal stake per pool</strong></td><td><p></p><p>The optimal stake is correlated to how the elector smart contract selects the validators and their effective stake. It currently works the following way:</p><p>For each epoch, the elector selects all the candidates of more than 300k TON</p><ul><li>For each epoch, the elector selects all the candidates of more than 300k TON</li><li>The elector orders all those candidates in descending order</li><li>If there are more candidates than the maximum possible (Currently 400) the elector trims the candidates in the lower end</li><li>All those 400 or fewer candidates will then enter the active set</li><li>A parameter called the <code>max_factor</code> outlines that the maximum effective stake can only be as high as the minimum stake that entered the active set multiplied by the <code>max_factor</code>. Currently, this <code>max_factor</code> is 3 and the minimum active stake for each epoch is usually seating around 400k-500k TON making the maximum effective stake around 1.2M-1.5M TON</li></ul><p>Depending on the staking solution the maximum per pool varies:</p><ul><li><strong>Pooled contract:</strong> The pool automatically balances the total pool amount across the optimal number of validators, with no limit on validators per pool. This makes it the easiest "stake and forget" solution, as it eliminates the need to manually balance funds across pools</li><li><strong>Single Nominator pool:</strong> Each pool can accommodate a maximum of two validators—one for even epochs and another for odd epochs. Assuming 400k TON as the minimum active stake, a pool with two validators can hold up to 2.4M TON while still maintaining optimal rewards</li></ul></td></tr><tr><td><strong>Active set</strong></td><td>Yes (400 validators)</td></tr><tr><td><strong>Slashing</strong></td><td>Yes, if validator is idle or behaves maliciously can get slashed (detailed below).</td></tr><tr><td><strong>Relationship between validator stake balance and rewards</strong></td><td>Linear. The more stake balance there is on the validator, the more rewards it will earn, until <code>max_factor</code> (detailed above).</td></tr></tbody></table>

## Staking workflow

<table data-header-hidden><thead><tr><th width="348">Parameter</th><th>Value</th></tr></thead><tbody><tr><td><strong>What is the staking process?</strong></td><td><p></p><ul><li><strong>Pooled contract:</strong> Using the Kiln dashboard simply specify the staking amount, and the pool automatically handles the epoch allocation and validation processes</li><li><strong>Single Nominator pool:</strong> Once your dedicated contract is deployed, you can stake funds directly to it</li></ul></td></tr><tr><td><strong>Do funds move out to another wallet?</strong></td><td>Funds move to the contract (single nominator contract or pooled contract) which the user owns and can withdraw at any time</td></tr><tr><td><strong>Can I keep staking/unstaking from/to the same wallet?</strong> </td><td>Yes / Required for Single Nominator Pool </td></tr><tr><td><strong>Can I select how much of my wallet balance I want to stake?</strong></td><td>Yes</td></tr><tr><td><strong>How does auto-compounding work?</strong></td><td>After every epoch the additional TON earned is used to generate additional rewards</td></tr><tr><td><strong>How do I unstake?</strong></td><td>You can unstake by requesting a withdrawal from the contract (Single Nominator Pool or Pooled contract). The funds will become available to complete the withdrawal step at the end of the epoch being used for validation</td></tr><tr><td><strong>Can I unstake part of the staked balance?</strong></td><td>Yes, you can select the amount you want to unstake<br><br>Exception: partial withdrawals with vesting contracts is not supported on Pooled contract</td></tr><tr><td><strong>What is the slashing risk?</strong></td><td>Downtime: During an epoch if a validator signed less than a certain threshold of the blocks, it will get slashed for 101 TON<br><br>Double signing: Validator won't be able to validate for the epoch so it will get the downtime slashing</td></tr><tr><td><strong>How is commission paid?</strong></td><td><p></p><ul><li><strong>Pooled contract:</strong> Commissions are taken onchain</li><li><strong>Single Nominator Pool:</strong> Commissions are invoiced to the customer as there is no commission dispatching on chain for the single nominator contract</li></ul></td></tr><tr><td><strong>Is the single nominator smart contract custodial?</strong></td><td>No, this staking is 100% non custodial as the user holds the private key of the wallet that can withdraw from the single nominator contract. The validator can only "Borrow" the TON in order to validate and gives it back at the end of the epoch. At a protocol level there's no way a validator can use the funds for any other task</td></tr></tbody></table>

## Staking guide

{% content-ref url="../../dashboard/staking/the-open-network-ton" %}
[the-open-network-ton](https://docs.kiln.fi/v1/kiln-products/dashboard/staking/the-open-network-ton)
{% endcontent-ref %}
