> For the complete documentation index, see [llms.txt](https://docs.bancor.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bancor.network/developer-guides/write-functions/transaction-prerequisites.md).

# Transaction Prerequisites

Before interacting with any blockchain smart contract, approval must be granted by the user for use of their tokens.&#x20;

The options to grant approval include:

* [approve()](/developer-guides/write-functions/transaction-prerequisites/approve-allowance.md)
* [allowance()](/developer-guides/write-functions/transaction-prerequisites/approve-allowance.md)
