# Channel webhooks

Txn sends a channel webhook each time a channel deposit's `status` changes. The payload mirrors the [Read channel deposit](/channels/reading-channel-deposit.md) endpoint response.

The tabs below show example payloads for each status. For the lifecycle of a channel deposit, see [Channels deposit flow](/channels/channels-deposit-flow.md).

For configuring webhook URLs, retry behaviour, source IPs, and signature verification, see the general [Webhooks](/api-basics/webhooks.md) section.

{% tabs %}
{% tab title="Status Pending" %}

```json
{
  "data": {
    "attributes": {
      "address": "TTC5yLKwoTkzXLvm3rmDsmqN69XvihnhDB",
      "amount": "86.13",
      "amountCurrency": "EUR",
      "amountToLocalCurrencyRate": "8.16390099",
      "channelId": "2efc6e7f-97cd-4ef2-8d75-6dc80a599ac8",
      "consolidationFee": "0.00",
      "createdAt": "2025-05-29T16:19:21.809Z",
      "exchangeRate": "0.8699922",
      "fee": "0.87",
      "feeCurrency": "EUR",
      "hash": "04850825bb3365cd5fc34ba6c81a0860d18bc9805c6800132e8e1e5127f97442",
      "localAmount": "710.26",
      "localCurrency": "CNY",
      "networkCode": "ttrx:usdt",
      "networkName": "Tron (TRC20)",
      "payAmount": "100.000000",
      "payCurrency": "USDT",
      "reference": "1a4153c0-d001-4181-9371-5ddfb3a1b3b2",
      "simplifiedState": "pending",
      "sourceAddresses": [
        "TTbGTMwUwA3mncLP7xqCZei1ekaNSgeAJe"
      ],
      "status": "pending",
      "updatedAt": "2025-05-29T16:20:02.323Z"
    },
    "id": "46683184-9768-4038-9661-ef1a4278b3b9",
    "type": "channelTransactions"
  },
  "meta": {}
}
```

{% endtab %}

{% tab title="Status Completed" %}

```json
{
  "data": {
    "attributes": {
      "address": "TTC5yLKwoTkzXLvm3rmDsmqN69XvihnhDB",
      "amount": "86.13",
      "amountCurrency": "EUR",
      "amountToLocalCurrencyRate": "8.16390099",
      "channelId": "2efc6e7f-97cd-4ef2-8d75-6dc80a599ac8",
      "consolidationFee": "0.00",
      "createdAt": "2025-05-29T16:19:21.809Z",
      "exchangeRate": "0.8699922",
      "fee": "0.87",
      "feeCurrency": "EUR",
      "hash": "04850825bb3365cd5fc34ba6c81a0860d18bc9805c6800132e8e1e5127f97442",
      "localAmount": "710.26",
      "localCurrency": "CNY",
      "networkCode": "ttrx:usdt",
      "networkName": "Tron (TRC20)",
      "payAmount": "100.000000",
      "payCurrency": "USDT",
      "reference": "1a4153c0-d001-4181-9371-5ddfb3a1b3b2",
      "simplifiedState": "completed",
      "sourceAddresses": [
        "TTbGTMwUwA3mncLP7xqCZei1ekaNSgeAJe"
      ],
      "status": "completed",
      "updatedAt": "2025-05-29T16:20:02.323Z"
    },
    "id": "46683184-9768-4038-9661-ef1a4278b3b9",
    "type": "channelTransactions"
  },
  "meta": {}
}
```

{% endtab %}
{% endtabs %}

**Payload Description**

| Name                                      | Type   | Description                                                                                                                                                                                                                          |
| ----------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| data.id                                   | string | Channel deposit ID.                                                                                                                                                                                                                  |
| data.type                                 | string | Always `channelTransactions`.                                                                                                                                                                                                        |
| data.attributes.hash                      | string | Transaction hash.                                                                                                                                                                                                                    |
| data.attributes.amountCurrency            | string | Determines the currency due after processing and conversion. Refer to [supported](https://docs.txn.io/api-basics/supported-currencies) currencies.                                                                                   |
| data.attributes.amount                    | string | Determines the amount due **after** processing and conversion. This is the amount the end-user's deposit resulted in on your account.                                                                                                |
| data.attributes.payCurrency               | string | Crypto currency that customer paid in. Refer to [supported](/api-basics/supported-currencies.md) currencies.                                                                                                                         |
| data.attributes.payAmount                 | string | Crypto amount that customer paid in.                                                                                                                                                                                                 |
| data.attributes.localAmount               | string | Determines the deposit amount value **before** fees in a display currency like CNY, KRW, BRL, etc. **This is normally the amount you will want to credit to the user's account on your platform.**                                   |
| data.attributes.localCurrency             | string | Display currency code, e.g. CNY, KRW, BRW. This is normally your end-user's currency. Refer to [Supported currencies](/api-basics/supported-currencies.md)                                                                           |
| data.attributes.amountToLocalCurrencyRate | string | `amountCurrency` vs `localCurency` exchange rate.                                                                                                                                                                                    |
| data.attributes.exchangeRate              | string | `payCurrency` vs `amountCurrency` exchange rate applied to the deposit.                                                                                                                                                              |
| data.attributes.fee                       | string | Fee amount taken by Txn for processing this deposit.                                                                                                                                                                                 |
| data.attributes.feeCurrency               | string | Fee currency.                                                                                                                                                                                                                        |
| data.attributes.address                   | string | Channel address.                                                                                                                                                                                                                     |
| data.attributes.networkCode               | string | Network code.                                                                                                                                                                                                                        |
| data.attributes.networkName               | string | Network name.                                                                                                                                                                                                                        |
| data.attributes.reference                 | string | The custom reference ID inherited from the parent channel.                                                                                                                                                                           |
| data.attributes.channelId                 | string | The ID of the parent channel that this particular deposit is linked to.                                                                                                                                                              |
| data.attributes.status                    | string | Channel deposit status. Refer to the [Channel deposit flow](/channels/channels-deposit-flow.md) for more info.                                                                                                                       |
| data.attributes.sourceAddresses           | array  | Wallet address(es) the funds were sent from. Typically a single address; may contain multiple entries when the deposit arrived via a UTXO-based network (BTC, LTC, BCH, DOGE, etc.) and the sender’s wallet combined several inputs. |
| data.attributes.createdAt                 | string | Timestamp when a channel deposit was created.                                                                                                                                                                                        |
| data.attributes.updatedAt                 | string | Timestamp when a channel deposit was last updated.                                                                                                                                                                                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.txn.io/channels/channel-webhooks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
