Rule reference

openrtb.request.tmax_non_positive

errorBid request

What it means

tmax, the number of milliseconds the exchange allows for bids to arrive (network latency included), is zero or negative. Taken literally, the auction is over before it starts.

Why it matters

Bidders that honor tmax will not spend compute on a request they have already lost, and bidders that ignore it are answering a request whose contract is broken. Either way the value came from a bug: an unset default, a unit conversion, or subtraction that went negative.

How to fix it

Send the real time budget in milliseconds; production values commonly sit between 100 and 500. If an upstream partner supplied tmax, forward it unchanged or reduced by your own processing time, never increased and never zeroed.

Example that trips it

{ "id": "req-1", "tmax": 0, "imp": [{ "id": "1", "banner": { "w": 300, "h": 250 } }] }

Check your payload

Paste a bid request or response into the tester to see whether this code fires against it, or gate on the id in CI with the CLI: the id is stable, wording is not.

Back to the full diagnostic code reference.