Cardano SPOs Lottery helper - How it works

Cardano SPOs Lottery helper - How it works

I’m happy to announce the first release of an application I have wanted to do for quite some time:

The Cardano SPOs lottery -


Attracting delegators to stake on their pool is not an easy task for a Cardano stake pool operator.

To help gain in visibility, stake pool operators, in addition to the regular staking rewards provided by the network, might want to give additional rewards to their delegators from time to time.

Either they give free tokens to all their active delegators in a specific epoch or they proceed to give away a very special NFT they have in their collection to a randomly selected tweeter follower.

But what if the stake pool operator wanted to reward delegators based on their loyalty and stake ?

The tool : a Cardano SPO lottery helper

This tool aims at helping stake pool operators to provide a fair lottery draw amongst their active delegators.

The SPO can now choose a winner amongst its delegators according to the following criteria:

  • the number of epochs the delegator is actively staking on the pool and
  • the delegator’s stake amount

Every delegator has a winning likelihood weighted by its loyalty (# of active epochs delegated to the pool) and its stake (ADA amount).

A delegator is represented by his stake address. If the lottery involves a price, the delegator’s wallet address can be easily found via his stake address.

Note : the stake pool operator has also the option to create lottery where each delegator has the same winning likelyhood.

Step by Step

Here is a step by step guide on how to create a lottery draw : The SPOs lottery

1. Select a pool

Choose a pool by providing its pool id and click “Search”.

Step 1 - Search a pool

(Ex: 718f15efee599d498a7582c4f56a940cfebffc14e850656db8d529e1)

2. Fill the lottery details you want for the draw.

In this example, all delegators who were active during the last 2 epochs are eligible. Every delegator will be attributed a winning percentage based on his stake amount.

The pool owners are not included in this draw.

Enter the draw date. This date indicates when the lottery winner will be revealed. This date has to be entered in UTC format.

Click on “Create and Run Lottery” and a winner will be randomly picked based on the chosen criterias.

Step 2 - Create the lottery and randomly pick a winner

3. The lottery is now completed. Share and Spread the word !

The lottery details have been set. It is time to share the lottery link with your community.

The lottery winner will be known when the draw date is reached.

At this stage, the lottery details can’t be changed anymore and of course, the winner can’t be changed after the lottery creation.

Each lottery has a unique id which generates a unique generated url. This url can’t be modified.

Example :

Step 3 - The lottery is complete

4. Who is the winner ?

When the draw date is reached, the winner is revealed on the same url.

The winner is represented by the delegator stake address.

Some buttons below the winner have been added to be able to simulate a lottery in case of a live event.

Step 4 - The lottery is complete

Example :

5. Lottery details

It is also possible to see the probabilities assigned to each delegator during the draw by clicking on the “details” link.

Step 5 - The entrants details

Example :


  • This tool is in beta version. Bugs are expected.
  • Currently, large pools are not allowed to participate. Pools with more than 900 delegators are not elligible. This is a technical limitation. This limitation might change in the future.

Have fun using this tool. Thank you if you decided to stake with the HIPPO pool

If you’d like to support us please delegate to our stake pool, Ticker: HIPPO

Do not hesitate to provide feedback via telegram .

Release notes


  • Addition of datetime picker for the draw date
  • 3 lottery winners
  • Fix date format display


  • Upgrade Blockfrost python SDK


  • Add a lottery name field
  • Reduce Hippo pool advertising
  • All dates can be input in the user local timezone.
  • The stake pool with an active stake > 5M ADA can now use the tool.
  • Multiple lottery with the same parameters are now allowed.
  • A draw date can’t be set in the past anymore.
  • Thanks to Extra Small SPO Alliance (xSPO) for the feedback.
  • Currently, search by pool name is not possible because the api doesn’t exist in Blockfrost and multiple pool can have the same ticker.