> For the complete documentation index, see [llms.txt](https://docs.blueseasx.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.blueseasx.com/client-bidding/introduction.md).

# Introduction

Client Bidding refers to a client-side auction model where the app directly sends ad requests to ad SDKs. Based on the bid prices returned by each SDK, the auction is executed on the client. Client Bidding gives developers full control over the auction decision, making the bidding process more fair and transparent.

The diagram below shows one possible implementation of Client Bidding.

<img src="/files/6mlPhiQqClpoewMMiQ7R" alt="" height="267" width="705">

First, the app integrates the BlueSea Ads SDK as a standalone SDK. When an ad request is triggered, the client simultaneously sends requests to the BlueSea Ads SDK and other mediation or ad SDKs. After ads are filled, the client retrieves the bid prices and stores the ads in a local cache. When the user reaches an ad display scenario, the client selects ads from the cache, compares their bid prices, and displays the highest-priced ad. The client then reports the auction result (win or loss) back to BlueSea.

From this implementation, we can observe that:

* As a complementary ad fill source, Client Bidding can significantly improve ad fill rate when mediation platforms fail to return ads or respond in time.
* Client Bidding is not a fallback mechanism. Instead, it participates in every auction, effectively increasing overall eCPM.

To implement this solution, developers need to:

* Integrate the BlueSea Ads SDK separately by following the documentation below, including ad request and ad display APIs.
* Design an ad cache to store ads from different ad sources.
* Implement client-side auction logic and report auction results (win/loss) back to BlueSea.

The following sections describe how to integrate Client Bidding in detail.
