> For the complete documentation index, see [llms.txt](https://fastlane-labs.gitbook.io/atlas-draft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fastlane-labs.gitbook.io/atlas-draft/building-atlas-modules/ex-post-bids.md).

# Ex-Post Bids

When bid amounts are known ahead of time by solvers the `_bidKnownIteration()` function is called and bids are sorted by bid amount, and executed until one is successful. If bid amounts are not known beforehand, such as when they are doing blind on-chain solving, the `_bidFindingIteration()` function is called to calculate the bid amounts on-chain. This is done by calling the same \_executeSolverOperation() used in the `_bidKnownIteration()` for each `solverOp`, and checking the balance of the contract before and after to calculate the bid amounts for each `solverOp`.<br>

`Ex-Post Bids` enables Atlas module developers to benefit from forms of programmable privacy that prevent frontrunning, and use on-chain simulations to get users best execution while minimizing trust. An example used in a backrun module is referenced [here](https://www.fastlane.xyz/blog/introducing-atlas-backruns).&#x20;

<br>
