> ## Documentation Index
> Fetch the complete documentation index at: https://docs.offthehook.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Off the Hook: Webhooks for TRON Blockchain

> Off the Hook delivers real-time, HMAC-signed webhook notifications for TRX, USDT, USDC, and any TRC-20 token transfer on TRON Mainnet, Nile, and Shasta.

Off the Hook is a webhook notification service built specifically for TRON. You create a subscription, point it at your HTTPS endpoint, and add the addresses you want to watch. Within seconds of a matching transfer hitting the chain, Off the Hook signs a payload with HMAC-SHA256 and POSTs it to your endpoint — no polling, no custom indexing, no infrastructure to run.

## Why TRON needs a dedicated service

TRON moves more USDT volume than Ethereum and processes roughly ten times the daily transactions, yet the major webhook providers — Alchemy Notify, QuickNode Streams, Moralis Streams — treat TRON as an afterthought or skip it entirely. Off the Hook exists to close that gap. It covers native TRX transfers and every TRC-20 token, so you get the same notification quality on TRON that other providers deliver on Ethereum.

## What makes Off the Hook different

Off the Hook is built on the [Standard Webhooks](https://www.standardwebhooks.com) specification. That means the delivery format, signing algorithm, and header names are an open standard — not a proprietary wire format you have to reverse-engineer. Any Standard Webhooks-compatible verification library (including Svix's open-source clients) works out of the box.

Chains and addresses are identified with [CAIP-2](https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-2.md) identifiers (`tron:mainnet`, `tron:nile`, `tron:shasta`). CAIP-2 IDs appear in every API request and every webhook payload, so your code never has to guess which network a transfer came from.

## Key features

* **Real-time delivery** — TRON blocks are polled every three seconds; matched transfers are queued and delivered immediately.
* **Automatic retries** — failed deliveries are retried at 200 ms, 1 s, 5 s, 1 min, 5 min, 30 min, and 2 h. The same `webhook-id` is sent on every attempt so you can deduplicate on your side.
* **HMAC-SHA256 signing** — every delivery is signed over `{id}.{timestamp}.{body}` per the Standard Webhooks spec. Reject any request that fails verification.
* **Multi-secret rotation** — rotate your signing secret without dropping deliveries. Both the old and new secrets are valid during a configurable grace window.
* **Per-address filtering** — subscriptions watch specific addresses, not entire chains. Each address is scoped to a chain ID so the same subscription can span Mainnet and a testnet simultaneously.
* **Native TRX and all TRC-20s** — one event type (`wallet.transfer.broadcasted`) covers both native TRX and every TRC-20 token. The asset details — symbol, decimals, contract address — are in the payload.

## Supported chains

| Network      | CAIP-2 ID      | Purpose    |
| ------------ | -------------- | ---------- |
| TRON Mainnet | `tron:mainnet` | Production |
| TRON Nile    | `tron:nile`    | Testnet    |
| TRON Shasta  | `tron:shasta`  | Testnet    |

## Start building

<CardGroup cols={2}>
  <Card title="Quick start" icon="rocket" href="/quickstart">
    Create your first subscription and receive a live notification in four steps.
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Learn how to pass your API key on every request.
  </Card>

  <Card title="Subscriptions" icon="bell" href="/concepts/subscriptions">
    Understand the subscription resource — destinations, events, and address filters.
  </Card>

  <Card title="API reference" icon="code" href="/api/subscriptions/create">
    Browse the full REST API with request and response schemas.
  </Card>
</CardGroup>
