> For the complete documentation index, see [llms.txt](https://docs.flashstake.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flashstake.io/time-based-tokens-tbts/flashstaking-tbts.md).

# Flashstaking TBTs

The Flashstake Protocol provides a feature called *Flashstake* which enables users to both [Stake](/time-based-tokens-tbts/minting-tbts-staking.md) and redeem yield (via [FlashBurn](/time-based-tokens-tbts/burning-tbts-flashburn.md) or [Swapping](/time-based-tokens-tbts/swapping-tbts.md)) in a single transaction, effectively staking their principal into a [strategy](/time-vault-strategies-tvs.md) to mint TBTs and then use those TBTs to get upfront yield all in that same transaction.

The [Flashstake function](/smart-contracts/flashstake-protocol/methods.md#flashstake) also gives users the option to set a slippage value of "minimumReceived" to protect against frontrunning. This can be changed by the user in the Flashstake Dapp's advanced settings section.

{% hint style="info" %}
The [Flashstake Dapp](https://app.flashstake.io) uses a [proxy](/smart-contracts/flash-protocol-proxy.md) that automatically determines the best yield source to provide upfront yield when performing a Flashstake.
{% endhint %}
