# Start Transaction (ETH)

## Start Transaction (Ether)

To start a transaction with a native token, there is no need to allow the Escrow contract to spend a certain amount. The user just has to send the total (price+fees) with the transaction.&#x20;

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

* Marketplace id : `marketplaceId1`
* Ad id : `adId2`
* Price of the ad (excluding fees) : 2 ETH
* Seller's address : `0x70997970C51812dc3A010C7d01b50e0d17dc79C8`

The fees for this token is 2%, the user must send the total amount (price+fees) which is : `2*1,02 = 2,04 ETH`

```javascript
//New transaction
await escrow.startTransaction(
    "marketplaceId1", //Marketplace id
    "adId2", //Ad id
    ethers.utils.parseEther("2"), //Ad price
    "0x0000000000000000000000000000000000000000", //ETH address
    "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", //Seller's address
    {
      value: ethers.utils.parseEther("2.04"), //Price+fees in ETH
    }
);
```

{% hint style="danger" %}
Even if it's an ETH transaction you must specify a token address that matches the ETH address in the whitelist : `0x0000000000000000000000000000000000000000`Nothing is sent/received on this address, it's used internally for mapping purposes.
{% endhint %}
