How do currencies work in an OpenRTB bid request?

Answer

Three fields control currency, all using ISO 4217 alpha codes. BidRequest.cur is an array of currencies the exchange accepts for bids, recommended only when the exchange accepts more than one. imp.bidfloorcur states the currency of that impression's floor and defaults to USD; it does not inherit from anywhere, and per-deal floors in pmp.deals[].bidfloorcur likewise default to USD rather than inheriting from the Imp. On the response side, BidResponse.cur declares the bid currency and also defaults to USD. Mismatched floor and bid currencies are a classic source of silently lost auctions.

Fields in this answer

FieldTypeSinceStatus in 2.6
imp.bidfloorcurstring2.0Current
pmp.dealsobject array2.2Current

Go deeper

More questions on openrtb basics and the bid request

All 93 questions are listed in the OpenRTB FAQ.