# Build Approval Transaction

This API returns the transaction data so you get to decide whether to approve yBridge to spend your tokens.

## Get the approve transaction

<mark style="color:blue;">`GET`</mark> `endpoint/approve`

#### Query Parameters

| Name                                           | Type   | Description                                                |
| ---------------------------------------------- | ------ | ---------------------------------------------------------- |
| chainId<mark style="color:red;">\*</mark>      | String | chain ID                                                   |
| spender<mark style="color:red;">\*</mark>      | String | Address of the spender                                     |
| tokenAddress<mark style="color:red;">\*</mark> | String | Token address                                              |
| amount                                         | String | Amount of tokens to be approved. If not given, approve max |

{% tabs %}
{% tab title="200: OK Success" %}

```javascript
{
    "isSuccess": true,
    "msg": "",
    "tokenAddress": "<tokenAddress>",
    "spender": "<spender>",
    "amount": "<amount>",
    "tx": {
        "to": "<tokenAddress>",
        "data": "<data>",
    }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**`NOTE :`**` ``The spender should be the contractAddress in the response of` [`Get Quote`](https://app.gitbook.com/s/-Mcs9EhDrgbKHodtcAT6/~/changes/HTPvqHWDmiwzKo005mtN/xswap-api/v1/get-quote)`.`
{% endhint %}

{% hint style="warning" %}
&#x200B;**`IMPORTANT :`**` ``Note that the amount parameter should be padded with zeroes. For example, pass`` `**`100000000`**` ``instead of`` `**`100`**` ``if the decimal digits of the token are 6.`
{% endhint %}
