For advertisers

Direct access to the long tail. On your own terms.

Reach gaming, subscription and commerce audiences across long-tail web video and display inventory: through your own DSP over OpenRTB 2.5 / 2.6, or through the self-serve console, with a full supply chain and impression-level logs on every request. Every request we surface today carries an OpenRTB site object; app-level inventory is not yet available.

Sign-up is three screens: email, password, code. The console opens immediately; traffic starts after review.

Two ways in

We built the exchange, so there is nothing between you and the auction.

Adbustr Exchange is our own stack: supply endpoints, auction, bidder and reporting are written and operated by our team. Buyers connect at the layer that suits them, a standard OpenRTB 2.5 / 2.6 integration for the DSP you already run, or the self-serve advertiser console when you would rather work directly against the exchange.

Buy through your DSP

Adbustr is a direct supply source over OpenRTB 2.5 / 2.6. Your DSP receives our bid requests at its own bidder endpoint, responds with seatbid, and clears in our auction. No wrapper, no reseller hop, no proprietary bid protocol to implement.

Or buy self-serve

The advertiser console gives you campaign and creative management, country and device targeting, bid floors, budgets and pacing, plus delivery statistics down to the individual placement, with no intermediary between you and the exchange. Sign-up is three screens and the console opens immediately.

One integration, every format

In-stream video (VAST 2, 3, 4), banner, ADM and popunder, all served as web inventory through one demand connection. In-app formats delivered with an OpenRTB app object are not available today.

Request lifecycle

Every impression you buy has a paper trail.

Seven steps run between an impression opportunity and the row it writes to our auction log: enrichment, quality filtering, demand selection, parallel fan-out, clearing, settlement and render. Each one is reportable per request: geography, domain, format, demand connection, bid, clearing price and the reason behind a no-bid.

  1. 01Request

    Supply hits a format endpoint or POSTs an OpenRTB 2.5 / 2.6 BidRequest to /rtb/{uid}. Exactly one impression object per request.

  2. 02Enrich

    Resonance resolves the real client IP, GeoIP country, region and city, and browser, OS and device class from the user agent.

  3. 03Filter

    Inbound validation runs before any demand is touched: device.ip and device.ua presence, browser allow-list, adult and illegal category blocks (IAB25 / IAB25-3 / IAB26), each rejection reason-coded in the log.

  4. 04Select

    Eligible demand is chosen by geography, device type, zone allow and block lists, seat lists, and per-connection request throttling. Requests that fit nobody are never sent.

  5. 05Fan out

    Every eligible buyer is called in parallel inside tmax (300 to 500 ms by default, per publisher and zone). Responses arriving after the window are discarded.

  6. 06Clear

    Bids are normalised to the base currency and ranked in one real-time auction. Anything below the floor set on the zone never clears, and the clearing price is recorded per request.

  7. 07Settle & log

    The winner gets a server-side nurl call, valid losers get lurl with a loss code. The rendered creative carries burl plus our own impression and click pixels, and the request lands as one row in the auction log. Spend is booked on a double-entry ledger, so a report never rewrites history.

Controls you keep

Safety, quality and measurement stay in your hands.

Brand safety you configure

Advertiser-domain blocklists (badv) travel with every request, IAB category blocks are enforced on inbound supply, and seat allow and block lists let you decide which buying seats are eligible on which inventory.

Validation before the bid

Mandatory device.ip and device.ua, a browser allow-list, and IAB25 / IAB25-3 / IAB26 category blocks, applied before fan-out and logged with a reason code. We run no IVT scoring of our own: the Anti-Fraud Policy lists the controls we do not operate.

Chain you can audit

A SupplyChain object (source.ext.schain, ver 1.0) is attached to every request we send, imp.secure is propagated so HTTPS inventory only ever gets HTTPS creatives, and our own ads.txt, app-ads.txt and sellers.json are published at their canonical locations.

Measurement without lock-in

Impression, click, win and billing events are logged per request and reconcilable one to one against your own numbers. MMP postback support and third-party verification support are available on request: you pick the vendors, we do not resell measurement.

Campaign setup is a console away.

Creatives, geo, device, OS, language and frequency targeting, floors, budgets and delivery down to the placement: all of it is in the advertiser console, and the console opens before you commit a budget.

Sign-up is three screens: email, password, code. The console opens immediately; traffic starts after review.

Verticals we serve

Built for performance verticals.

  • Mobile GamingIn-stream and wrapped video across web player inventory.
  • iGaming & Sports BettingCountry-level targeting with per-market allow and block lists, delivered where locally permitted.
  • Subscription AppsVideo and display placements with event-level delivery logs.
  • E-commerce & DTCBanner, ADM and video formats across web supply.
  • Finance & CryptoCategory and advertiser-domain controls enforced on both sides of the auction.

Integration surface

What your DSP connects to.

ProtocolHTTPS POST · application/json · x-openrtb-version: 2.5 / 2.6AuctionOne real-time auction · clearing price recorded per requestAuction timeouttmax 300 to 500 ms · late responses discardedBid responseseatbid[].bid[] : price (CPM), impid, adm, nurl, burl, adomain, crid, w, hCreative in admvideo: VAST tag URL (wrapped via VASTAdTagURI) · banner: HTML · pop: landing URLVideomimes mp4/webm/javascript/3gpp · VAST 2, 3, 4 InLine and Wrapperduration 1 to 150 s · bitrate 10 to 9000 kbpsVPAIDAccepted from demand partners in resale, passed to the publisher's player as isAdbustr operates no VPAID renderer of its ownIn-app SDKPilot · Unity 2021.3 LTS+ · Android minSdk 21 · requests transact as site, no app objectPrice macros${AUCTION_PRICE} · ${AUCTION_CURRENCY} · ${AUCTION_ID} · ${AUCTION_LOSS}Transparencysource.ext.schain (ver 1.0) · badv · imp.secureAuthIP allow-list + bearer token

How to start

01

Open the console

Sign-up is three screens: email, password, code from the letter. The console opens immediately, with campaigns, creatives, targeting, floors, budgets and delivery reporting all in front of you.

02

Connect

Buying self-serve: upload creatives, set geo, device, OS, language, frequency and audience targeting, then wait on moderation before spend starts. Buying through a DSP: we exchange endpoint details, allow-list your bidder and validate schain, macros and notice handling.

03

Scale

Start on a narrow geo and format set, read the log-level reporting, then widen markets, formats and QPS. Blocklists, floors and per-country terms are tuned from your own delivery data, not from a rate card.

Launch a campaign.

Banner, video, CTV, push, pop, native. Targeting by geo, device, OS, language, frequency, audience segments. Moderated inventory, transparent spend.

Sign-up is three screens: email, password, code. The console opens immediately; traffic starts after review.

Buying through a DSP instead, or bringing an unusual market or format? Tell us the markets, formats and DSP you work with, and you will be answered by the team that wrote the exchange.

ask@adbustr.com