Skip to main content
Event kind strings in Off the Hook follow the pattern <scope>.<entity>.<status>. Because chainId and asset information are always present in the payload data object, one handler covers every chain and every asset type — you never need separate subscriptions for TRX versus TRC-20 tokens, or for mainnet versus testnet. Add one or more of the kind strings below to the events array when creating or updating a subscription.

Available events

wallet.transfer.broadcasted

Fired when a TRX or TRC-20 transfer is confirmed in a new block. This is the primary event for monitoring wallet activity. TRC-20 token transfer
Native TRX transfer For native TRX, asset.type is "native", contract is null, and logIndex is -1. The -1 value is intentional — it distinguishes a native transfer from the first TRC-20 log in the same transaction, which uses index 0.
When Off the Hook encounters a TRC-20 contract it has no metadata for, asset.symbol and asset.decimals are both null. Your code should handle these null values and display the raw amount string rather than attempting to format it.
Payload field reference

service.ping

A system event fired by the POST /v1/subscriptions/:id/test endpoint. Use it to verify that your endpoint is reachable and returning 2xx responses before you start monitoring live chain activity.

Planned events

These event kinds are not yet available. Do not include them in your events array — the API returns an unsupported_event error if you do.
Fired after a transfer receives enough block confirmations to be considered final. Requires polling for confirmation depth — planned for a future release.
Fired when a transfer transaction is detected as reverted or failed. Requires revert detection logic — planned for a future release.
Fired when a smart contract call appears in a new block. Planned for a future release.
Fired after a contract call reaches confirmation depth. Planned for a future release.
Fired when a contract call is reverted. Planned for a future release.
Fired when a wallet balance crosses a configured threshold in either direction. Planned for a future release.