# Motivation

Most web3 use cases involve staking tokens in return for some utility and benefits. Token staking for interest benfits with certain APRs, staking for govenrance voting, staking for GameFi use cases, etc. The user sends a certain amount of stake tokens to a smart contract, which involves some logic and promises some utility to the sender (staker). Mostly users&#x20;

* can't read the smart contract code,&#x20;
* have to sign transactions to trust the smart contract,&#x20;
* are concerned about the possible vulnerabilities. (The psychology of a person signing a transaction using Ledger Nano X in blind mode is not what we need for mass adoption.)

Besides, the gas costs of the operations are significantly high in comparison to the web2 world. &#x20;

We hereby propose&#x20;

* an asynchorous scheme,&#x20;
* based on an local transactions talking to each other via costless getter functions,&#x20;
* based on tokens lockable locally (i.e. without leaving their wallet).&#x20;

This allows the whole operation to be secure, fast, robust and cheap. The scheme is possible thanks to the following features of TON,&#x20;

1. TON transactions are fundamentally asynhronous.
2. Each user wallet and Jetton account is a distinct contract on the chain managing its own state locally.   &#x20;
