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

# Polling vs. Webhooks

> When to poll for transaction state vs. relying on webhook notifications.

## Choosing your approach

| Scenario                                | Recommended approach                                               |
| --------------------------------------- | ------------------------------------------------------------------ |
| Normal operation                        | Use webhooks (`callback_url`) — faster, no polling overhead        |
| Webhook not received                    | Poll [Get Transaction](/api-reference/transaction-get)             |
| Debugging a specific payment            | [Get Transaction](/api-reference/transaction-get) for full history |
| Recovery after your endpoint was down   | [Replay Webhook](/api-reference/replay-webhook)                    |
| Displaying payment history for a player | [List Player Transactions](/api-reference/player-transactions)     |

## Recommendation

Always provide a `callback_url` in your deposit and withdrawal requests. Webhooks deliver results within seconds of the payment settling — polling introduces latency and unnecessary load.

If your callback endpoint is temporarily unavailable, winam-payments retries 3 times with exponential backoff. After all retries are exhausted, use [Replay Webhook](/api-reference/replay-webhook) to re-deliver the notification manually.

See [Webhooks](/api-reference/webhooks) for payload format and signature verification.
