We operate a lowest unique bid auction.

The way that this works is that you can bid to win the specified number of bitcoins by bidding for them any number of satoshi's you want.

Then once the auction has closed (most last one day) the bidder who has the lowest unique bid wins. By unique we mean that the number of Satoshi's bid is unique amongst all the bidders.

So if we got the following bids: 1, 4, 2, 3, 1, 4, 3 then the lowest unique bid would be 2 - as the 1 bids are lower - but there are two of them so are not unique.

Entering a bid

Single entry

You can enter on the front page of the site - just enter an amount in satoshi's you want to bid and your bitcoin address you would like the winnings sent to if you win.

We will then display a Lightning Invoice for that amount. As long as you pay this before the end of the auction you will be entered.

Multiple entries

If you want to enter multiple times with just one invoice - click the "Enter multiple bids" button on the front page. This will allow you to enter a number of bids (and ranges of bids) and then pay them all with one invoice.


We are obviously able to cheat. As we could wait till the last minute before the auction ended - and then enter a bid that wins. Equally we could just not show some bids that were made and not payout.

To try to reassure you this is not happening - every time a bid is made we add it to a blockchain of bids. Then every ten minutes we publish the hash value of a timestamp file containing all the bids, and also timestamp this hash on 2 websites that then timestamp them on the Ethereum and Bitcoin blockchains.

Then after the auction ends we publish those files. By doing this you can check that your bid was included, check if it should have won. And also check that it was not a very late bid that won. As if it was it could be that we entered that after knowing all the bids.

Check Proofs

The easiest way if you trust is to just click on their link. They will confirm the exact time they received the hash.

To verify the Ethereum proof you need to do the following:

  1. On the proof page check that the targetHash matches the hash of the timestamp file.
  2. Check that the sourceId is a valid transaction on the relevant blockchain and check the timestamp on that transaction.
  3. Open the transaction on a block-explorer and check that the merkleRoot is in the transaction data somewhere.
  4. Copy the JSON string into code at Scastie
  5. Run the code and confirm that the console outputs true

If the code returns true it proves that the hash of the timestamp must have existed before the transaction was added to the chain. And so the file must have existed before that time too.