The Supply Chain Object (schain) is an OpenRTB specification that declares the chain of sellers involved in a given impression opportunity. Demand partners use it to verify that every node in the supply path is authorized and transparent. Passing an accurate and complete schain is one of the most important things you can do to protect your revenue and maintain demand partner trust.
Sovrn strongly recommends always passing a complete and accurate schain. Incomplete or missing schain data can restrict demand spend on your inventory and put you at risk of IVT clawbacks.
What makes a valid schain object?
A properly formed schain object requires the following at minimum:
-
ver — the version of the schain spec in use (currently
"1.0") -
complete — set to
1if the chain represents all nodes in the selling path,0if incomplete. Sovrn recommends always passing1. -
nodes — an array of seller nodes, each containing:
-
asi— the domain of the SSP or exchange (e.g.,sovrn.com) -
sid— your seller ID as it appears in that exchange'ssellers.json -
hp— set to1if this node is involved in the payment flow
-
Common schain mistakes to avoid
-
Missing nodes — every intermediary in the selling path must be represented. Omitting a node makes the chain incomplete and raises fraud flags with buyers.
-
Mismatched seller IDs — your
sidat each node must match exactly what appears in that exchange'ssellers.json. Discrepancies can cause demand partners to reject the impression. -
complete set to 0 — unless you genuinely cannot account for all nodes, always pass
complete=1. An incomplete chain signals opacity to buyers and suppresses bids. -
Stale or hardcoded values — if your selling relationships change, your schain needs to reflect that. Hardcoded schain objects that aren't maintained drift out of sync over time.
How do I pass schain in Prebid.js?
In Prebid.js, schain is configured using the schain module. You define your chain in the pbjs.setConfig() call:
pbjs.setConfig({
schain: {
validation: "strict",
config: {
ver: "1.0",
complete: 1,
nodes: [
{
asi: "sovrn.com",
sid: "YOUR_SELLER_ID",
hp: 1
}
]
}
}
});
Replace YOUR_SELLER_ID with the seller ID Sovrn has on file for your account. Setting validation to "strict" ensures Prebid will flag malformed schain objects before they leave the page.
Questions? Concerns? Our team would be more than happy to help. Reach out to our Support Team here.