# Start Transaction (Token)

To start a transaction with a token (FA1.2), the user must first make a transaction to authorize the Escrow smart contract to spend a certain amount of tokens.

In this example we have an ad with the following information:

* Marketplace id : `marketplaceId1`
* Ad id : `adId1`
* Price of the ad (excluding fees) : 1 token => 1000000000000000000&#x20;
* Seller's address : `tz1LfdftiaLDS1HePbuVFYVD3WZe3BFtA2qz`

The fee for this token is 1%, the user must first make a transaction to authorize the smart contact to spend the total amount (price+fees) `1,01 tokens => 1010000000000000000`

```javascript
//Approve escrow contract
await (await token.methods.approve(escrow.address, 1010000000000000000).send()).confirmation(1)

//New transaction
 await (await escrow.methodsObject.startTransaction({
        _marketPlaceId:"marketplaceId1",
        _adId:"adId1",
        _amount:1000000000000000000,
        _seller:"tz1LfdftiaLDS1HePbuVFYVD3WZe3BFtA2qz",
        _tokenAddress:token.address
    }).send()).confirmation(1)

```

{% hint style="success" %}
The token used has 18 decimal&#x20;
{% endhint %}
