Integration guide

Webhook retries: find the failure first

Inspect delivery logs, response codes, signatures and timeouts. Fix the receiving endpoint before resending, and process each order only once.

Steps to follow

Webhook retry troubleshooting flow

Best for developers debugging completed USDT / USDC orders where the first callback fails but a later retry succeeds.

  1. 01

    Confirm payment has reached the required confirmation stage; COMPLETED is not a prerequisite for troubleshooting.

  2. 02

    Compare delivery response codes, timeout details and errors.

  3. 03

    Validate the timestamp and signature over the raw request body before parsing JSON.

  4. 04

    Persist valid notifications, deduplicate, respond with 2xx and resend after fixing the endpoint.

BoltUtil checks payments and sends signed callbacks. Your server verifies signatures and order status, deduplicates events, then delivers goods, activates service or credits accounts.

Integration notes

What matters before production

Verify before parsing

Sign the timestamp, a dot and the raw request body. Re-serializing JSON changes the signed bytes.

Persist before 2xx

A successful response should mean the valid notification was reliably stored. Long-running work can follow asynchronously.

A retry is the same payment

Use order IDs, transaction associations and processing state to prevent duplicate fulfillment.

Webhook retry diagnosis
signed_content = timestamp + "." + raw_request_body
signature = HMAC_SHA256(signed_content, webhook_secret)

Verify → validate order / payment → persist → process once → 2xx

Examples are for integration and troubleshooting only. No requests are sent. Use your order data, network configuration and current API documentation.

Read API docs

Integration guide

Questions merchants ask before going live

Must an order be COMPLETED before troubleshooting?

No. Inspect delivery once payment is confirmed. COMPLETED normally follows a successful callback response; it is not a prerequisite for investigating failure.

Can a successful transfer alone complete an order?

No. Check the configured network and token, destination, payable amount, order window and confirmation progress. Verify callbacks and fulfill only once.

Do all six networks support both currencies?

TRON supports USDT only. Available USDT / USDC pairs on other networks depend on enabled channels and configured wallets. Compare the configured contract or mint, not just the token name.

Launch a cleaner USDT / USDC payment flow

Create orders, monitor transfers, and notify your backend without asking customers to send screenshots.