When the bucket auction ends, we will have a bunch of addresses and their bids. The auction algorithm determines a final price such that 20,000 tokens (total supply of 24,000 less 4,000 reserved for live minting experience) are sold for the highest price given the distribution of bids. The price algorithm uses binary search, which roughly works like a “guess the number” game. The system starts from the halfway point, and figures out whether the guess is too low or too high. It keeps dividing in half until the guess is the right number. Put another way: we pick a starting price and calculate how many tokens we've sold at that given price. if the tokens sold is over 20,000, we raise the price. If it's under 20,000, we lower the price. This is repeated until we get exactly 20,000 tokens sold (or if not, as close to 20K as we can get without going over).