> For the complete documentation index, see [llms.txt](https://docs.xy.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xy.finance/single-bridge-integration/ybridge-api/build-approval-transaction.md).

# Build Approval Transaction

Returns the transaction data for the approval of token spend

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 %}
