Corvus

An experimental server-side ad exchange in Rust, with OpenRTB request handling, demand adapters, auction logic, and controls for slow or failing integrations.

  • Rust
  • OpenRTB
  • SQLite
  • PostgreSQL
Conceptual workflow for Corvus: Request, then Auction, then Response.
Open full-size screenshot or illustration

Make the auction path explicit.

An ad exchange has to coordinate independent demand sources within a bounded request. Corvus separates the HTTP entry point, bid types, adapter layer, auction logic, and control plane so each responsibility has a clear place.

How it works

The adapter layer includes rate limits, concurrency controls, retries, and circuit breakers. A mock demand stack supports exercising the request path without representing a live commercial exchange.

Workflow example

  1. Submit a sample bid request to the exchange endpoint.
  2. The bidder coordinates demand adapters and evaluates returned bids.
  3. Return a winning response or a no-bid result, with request-level observability.

Project scope

Pre-alpha project. The example describes a mock-backed request path, not a production exchange, revenue result, or verified live DSP integration.