# 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()](https://docs.bancor.network/developer-guides/write-functions/transaction-prerequisites/approve-allowance)
* [allowance()](https://docs.bancor.network/developer-guides/write-functions/transaction-prerequisites/approve-allowance)
