Skip links

Sellers.JSON and the OpenRTB SupplyChain object

The OpenRTB and Sellers.json are mechanisms used to identify all intermediaries that participate in the money flow all the way from the buying platform back to the publisher.
They do not include any intermediary that does not participate in money flow and don’t include systems that are paid a fee for their services but don’t pay upstream sellers. In cases of complicated supply chains, this enables increased transparency and the ability to identify and prevent fraudulent or otherwise unacceptable supply sources, according to the business policies of the consuming advertising system (SSPs/DSPs).

Both initiatives can be thought to be some sort of extension to the Ads.txt initiative, introduced back in 2017. Nevertheless, they were introduced in order to resolve the gap created by Ads.txt and App-Ads.txt which helps to determine who is authorized to buy the inventory but still does not covers the hoops or intermediaries that participate in the reselling process.

Sellers.JSON is the Ads.txt file of the SSPs, Exchanges, or any Ad Network that participates in reselling the ad space.
AdServers, Exchanges, Ad Networks, and SSPs need to generate the Sellers.JSON file on their root domain (for example, and it should include the account IDs of all the customers that operate under this vendor. It should list all the Publishers, Ad Networks, and any other SSPs that generate supply for this specific Advertising System.

OpenRTB SupplyChain Object
The SupplyChain object is the de facto solution for buyers to see all parties involved in the reselling of a given ad space opportunity by chaining each node from the publisher back to the DSP.
Each node in the chain includes the following information:

  1. asi – The canonical domain name of the SSP, Exchange, Header Wrapper, etc. system that bidders connect to. This may be the operational domain of the system, if that is different than the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system. This should be the same value as used to identify sellers in an Ads.txt file if one exists.
  2. sid – The identifier associated with the seller or reseller account within the Advertising System. This must contain the same value used in transactions (i.e. OpenRTB bid requests) in the field specified by the SSP/exchange. Typically, in OpenRTB, this is the publisher. id. For OpenDirect it is typically the publisher’s organization ID. Lastly, it should be limited to 64 characters in length.
  3. hp – Indicates whether this node will be involved in the flow of payment for the inventory. When set to 1, the Advertising System in the asi field pays the seller in the sid field, who is responsible for paying the previous node in the chain. When set to 0, this node is not involved in the flow of payment for the inventory. For version 1.0 of SupplyChain, this property should always be 1. It is explicitly required to be included as it is expected that future versions of the specification will introduce non-payment handling nodes. Implementers should ensure that they support this field and propagate it onward when constructing SupplyChain objects in bid requests sent to a downstream Advertising System.

With this additional transparency of the supply chain, buyers can determine the specific opportunity is clean and can verify all the intermediaries. Buyers will now have the ability to understand how many “hands” their bid is passed through and, in turn, they can decide to cut some intermediaries in order to provide better performance as well as to minimize their spending and maximize their enrichment.