DOT.News » Moonbeam

All the latest news about Polkadot, Kusama and its strong ecosystem

How Polkadot and Kusama Slot Auctions Work

Published date: September 22 2021

This is designed to be an educational resource and does not discuss the details of the Moonriver crowdloan. Please refer to the Moonbeam Foundation for information on that.

On June 15, the first parachain slot auctions for the Kusama network began, with slot auctions on the Polkadot network expected to follow later in the year. This process marks the beginning of parachain launches for each network, which is a monumental achievement. However, the process is also quite complex and deserves some definition and explanation.

Parachains on Kusama and Polkadot

To understand how a slot auction works, it’s important to first understand parachains, which are individual blockchains running in parallel within the Polkadot and Kusama networks.

The Polkadot architecture will be composed of as many 100 parachains that are connected to — and secured by — a central chain known as the Relay Chain. Moonbeam is planned as a parachain on the Polkadot network and Moonriver will similarly be a parachain on Kusama. For each network, Moonbeam and Moonriver will provide a launchpad for Ethereum projects that want to easily expand to Polkadot without rewriting their codebase.

This kind of specialization on each parachain is made possible by what’s known as “heterogeneous sharding,” which essentially means that each parachain can be unique and different from each other. Just as the Moonbeam parachains will each be optimized for the best possible experience when coming from an Ethereum environment, other parachains will be designed for specific use cases.

The Role of Parachain Slot Auctions

Since these parachains must connect to the Relay Chain to reap the benefits of the network architecture, there needs to be a way to determine which parachains can connect, and in what order. That’s where parachain slot auctions come in.

Parachains connect to the Polkadot and Kusama Relay Chains via a permissionless auction. As Polkadot’s canary network, Kusama will roll out parachain auctions first for testing and optimization. Parachains will likely be onboarded to Kusama gradually to make sure everything is running smoothly before the same functionality is extended to Polkadot.

The purpose of the auctions is to allocate parachain slots to projects that want to operate on either network. The overall objective is to have as many as 100 parachains running concurrently. However, these will open up in batches with around 30 parachains operational within the first year.

These parachain slots are intentionally scarce to encourage competition and the best possible allocation of fixed Relay Chain resources. By limiting the number of available slots, aspiring parachains must outbid each other to earn a lease, both for the initial launch and again for renewal once the lease period expires. On Kusama, these leases last a maximum of 48 weeks, while Polkadot is expected to have a maximum 24-month lease period.

This kind of competition and scarcity is an excellent way to help ensure that the most viable parachains occupy each slot: only successful parachains with traction, active usage, and a viable token economic plan can maintain a slot, while deserted or unsuccessful parachains cede their lease to more promising contenders.

Using Crowdloans to Obtain the Initial Slot

This, of course, makes a lot of sense for established projects, but doesn’t leave a lot of room for new projects that need a way to pay for the initial parachain lease. That’s where crowdloans come in.

Crowdloans create a way for new projects to win a parachain slot by enlisting the help of their communities to raise the needed tokens. They essentially work like this:

  1. Community members temporarily lock their tokens (KSM for Kusama, DOT for Polkadot) in support of a particular project. These tokens are kept in a separate crowdloan module, which is on the Relay Chain and not controlled by the project. This helps prevent “rugpulls” by teams with malicious intentions.
  2. Once the auction is open, the crowdloan module bids on behalf of the parachain project that it supports. For example, the Moonriver crowdloan campaign ID on Kusama is 2023, so any KSM locked in that module will bid on behalf of the Moonriver project. As long as an auction is occurring and the crowdloan is open, this bidding will continue to occur until a parachain slot is won.
  3. Once a parachain slot is won, the parachain lease begins. If a slot is not won by the time the crowdloan ends, the tokens are unlocked and returned to their original owners.
  4. For parachains with successful crowdloan campaigns, the contributed tokens will remain locked on the Relay Chain until the lease ends. At that point, the tokens will be returned to the contributors. Most parachains so far have chosen to reward contributors with native project tokens, but those can be distributed throughout the lease period and are not tied to the parachain auction itself.

Importantly, the parachain will not be able to run a second crowdloan and is responsible for continuing to pay for parachain slot occupancy over time.

The crowdloan functionality serves a few different purposes, in addition to the obvious bootstrapping objective. First, it separates projects themselves from the tokens contributed. This is an important distinction from a direct funding method like a public sale, since the contributed tokens can only be used for the purposes of obtaining a slot and must be returned if this goal isn’t achieved. Second, it requires projects to build an enthusiastic community that is willing to support their crowdloan campaign. While this is also a component of other fundraising initiatives outside of Polkadot, the frequent nature of the auctions themselves means that there are many promising projects competing for individuals’ KSM or DOT tokens, which can each only be used to back one project at a time. This competitive spirit and sense of fairness are core to the process.

There is a lot more to these crowdloans and how they work, which we won’t dive into here. If you’re interested, you can read more about the functionality of crowdloans in this article.

How Slot Auctions Actually Work

Now that we’ve walked through the basics of why we need slot auctions, let’s discuss how they actually occur.

To make slot acquisition fair, Kusama and Polkadot will determine the occupants of each available parachain slot via a permissionless candle auction.

Auction Format

Parachain slot auctions follow a candle auction format, which is a variation on the open auction where no fixed end time is given to prevent auction “sniping” (the strategy of bidding at the last moment) for more accurate price discovery. The basic concept is that the candle can theoretically extinguish at any time, adding an element of randomness that encourages projects to deliver their best bids earlier, rather than chancing a final-hour bid that may not be recorded in time before the auction ends. This is all automated on the Relay Chain.

Projects that want to secure a parachain slot can participate in the auction by bidding KSM/DOT tokens in a decentralized candle auction. These can be their own tokens or tokens sourced from their communities in a crowdloan. When tokens are sourced by a crowdloan, participants do not need to actively participate in the day-to-day of the slot auction once they have contributed to the crowdloan; the crowdloan module does all of that in an automated fashion.

Individual Bids vs. a Crowdloan

There are two main ways to acquire a slot: through a crowdloan or through a private bid.

In a private bid, an individual entity makes the bid for a particular auction. In order to make a private bid, an entity can bid directly but the amount bid will be bonded until the auction ends. The balances of unsuccessful bids are unreserved once the auction ends. Contributors trust the central entity to set the right amount, provide accurate information for rewards, and return the contribution back if the auction is not successful or the leasing period is over. If projects have gained enough tokens to bid for themselves — with or without external funding — they are able to participate in slot auctions through this method.

In a crowdloan (as previously outlined), community members contribute tokens to a separate module that bids on a project’s behalf. The crowdloan updates its bid throughout the auction as more contributions are received, always bidding the current balance of contributions. The initial Kusama crowdloans are scheduled to last the entire duration of the five initial auctions, which means any contributions received for those projects are added to the projects’ bids in the parachain slot auction.

A couple of notes on these concepts, though.

You Can’t (Technically) Combine Crowdloans and Private Bids

While it’s not possible to do both a crowdloan and a private bid, a project can act as their own “whale” and contribute large amounts of tokens to their own crowdloan. Otherwise, a crowdloan cannot be combined with a private bid.

Crowdloans Automatically Bid at Auction

It’s also worth mentioning that crowdloans will always bid their full balance, and they will bid for any open auction that meets their lease requirements, since projects do not need to bid for the full lease period. For example, on Kusama, if a crowdloan is set to bid on lease slots 1–5 and the ongoing auction is for lease slots 2–10, then the crowdloan module does not bid.

This also means that crowdloan module bids are always pretty transparent: the number of tokens received through the crowdloan module are bid in their entirety, and the project doesn’t have the ability to abstain from an auction. For private bidders, they do not have to follow these rules, and are able to bid at any time, for any amount of tokens they have available to bond. However, since the candle auction rules state that the crowdloan will end at a randomly chosen time (more on that later), the private bidders are incentivized to place their best and final bids earlier in the auction process.

Private Bids Can Be Reused for Slot Renewal

I’ve also mentioned previously that crowdloans are a one-time thing: once a parachain has run a crowdloan, they won’t be able to run another one. This means that, once the lease ends, they will need to find alternate sources of tokens to pay for the lease, since the crowdloan tokens will be returned to the contributors at the end of the first term (for most projects on Kusama, 48 weeks). The tokens can’t be “rolled over” in any way.

However, that’s not true for individual bids. For parachains that bid directly to obtain their slot, they can utilize the existing deposit to extend their parachain lease. I’ll note that, depending on competition at the time of the slot renewal, they may need to supplement the lease funding to meet market conditions, or adjust the lease period to be shorter.

Initial Slot Auction Schedule

Parachain slot auctions occur on Kusama first. The first five auctions will occur one after the other, in succession, each lasting a week. The schedule announced by Parity outlined these expected dates:

  1. June 15, 2021 12:00 GMT — June 22, 2021 11:00 GMT
  2. June 22, 2021 12:00 GMT — June 29, 2021 11:00 GMT
  3. June 29, 2021 12:00 GMT — July 6, 2021 11:00 GMT
  4. July 6, 2021 12:00 GMT — July 13, 2021 11:00 GMT
  5. July 13, 2021 12:00 GMT — July 20, 2021 11:00 GMT

More parachain auctions are expected to follow, though they may follow a slower pace, possibly only twice per month. The initial weekly pace allows completed projects with enthusiastic communities to quickly launch and prove the viability of their parachain before the functionality is rolled out to a broader group of projects.

Auction Duration

While each slot auction is scheduled for seven days, the candle auction format means that the “end” date and time is a bit of a wildcard. This is by design.

The first two days are confirmed to be an “open” period of the auction. Any bids made during this time — either directly or by a crowdloan module — will be safely within the auction period and are certain to be counted as official bids.

The following five days, however, fall within the “wick” of this theoretical candle, and the auction will end sometime in this five-day period. However, that random interval of time is determined at the end of the 7-day auction period and applied retroactively, so you won’t actually know in real-time when the auction ends.

According to the initial schedule outlined by Parity, the initial winners will be announced at 11:00 GMT the day the scheduled auction period ends, and the next auction begins soon after at 12:00 GMT.

Only the remaining projects will proceed to the next auction since the winning parachain is now able to deploy to the Relay Chain and occupy their new parachain slot. If the parachains have crowdloan campaigns that remain open, the crowdloan module will automatically begin bidding on the next auction using the balance of contributed tokens to date. Crowdloan contributions continue to accumulate until a parachain slot is won or the crowdloan ends.

Registering for a Slot Auction

When registering for a slot auction, regardless of whether the parachain will use the crowdloan module or an individual bid, the project must specify the following information:

  • Parachain ID/Index (which parachain the bid or crowdloan will support)
  • First and Last Slot (which lease term to bid for, on Kusama the choices are 1–8 terms)

For a crowdloan, the team will also need to supply an end date, after which the tokens will be returned to contributors if a slot has not been won, and a cap for overall funds that can be contributed. For a direct bid, the team will need to specify in which auction to bid (Auction Index) and the amount to bid.

A Note on Lease Periods

The lease periods matter in a slot auction, not only because they determine how long the project will occupy a slot, but also because the Relay Chain is configured to maximize the total amount locked over the entire slot duration. What that means is that, in a scenario with many bids for partial leases (remember, Kusama has eight 6-week periods, so projects can bid on any range of those eight periods), the combination that nets the highest total bid will win. This means it’s possible that the slot will remain unoccupied for some of those periods, as long as the bids selected equal the highest possible bid value during that auction without overlapping.

Stages of a Parachain Auction

In theory, all this sounds a bit abstract. So let’s play out how an actual auction might occur on Kusama, with the assumptions that we’ve outlined previously regarding a 7-day auction period.

In this example, we have four competing projects: two using the crowdloan functionality (Yellow Parachain and Purple Parachain) and two using a direct bid (Turquoise Parachain and Salmon Parachain).

On Day 1, each project enters its initial bid. Yellow/Purple bid their current crowdloan balance (crowdloans can begin before this period) and Turquoise/Salmon enter their first bid as they wish. After the first day, the standings appear as follows:

  1. Yellow with 600 KSM (crowdloan)
  2. Turquoise with 550 KSM (direct bid)
  3. Salmon with 300 KSM (direct bid)
  4. Purple with 100 KMS (crowdloan)

You’ll notice over the proceeding days that the balances of the crowdloan-backed projects increase frequently: this is because the crowdloan continues to increase the bid as more tokens are received from the community. Crowdloans are still open and running alongside the auction itself.

While these crowdloan bids occur, the private-bid projects (Turquoise/Salmon) don’t have to enter additional bids. However, after Day 2, it becomes risky to wait since the auction can end at any time.

Finally, on Day 4, Salmon Parachain enters a private bid of 5000 KSM and briefly takes the lead in the auction.

Unfortunately, on Day 5, Salmon Parachain is quickly outbid by a private bid from Turquoise Parachain AND an increased bid from the Purple Parachain crowdloan module.

These antics continue until Day 7 when the highest bid is Purple Parachain with 18,000 KSM. However, importantly, Purple does not win. The winner is Turquoise.

The reason Turquoise wins the parachain auction is because of this reverse “candle auction” approach, which randomly chooses a time interval to retroactively end the auction. In this (very simplistic) example, that interval falls on Day 5, when Turquoise had the highest bid.

Turquoise Parachain wins the slot and is now able to connect to the Kusama network. This will likely happen soon after the slot is won since the lease period begins immediately. After the end of a lease period (up to eight 6-week periods on Kusama), the slot will be available for renewal or for another project to occupy.

The remaining parachains must continue to compete for a slot, assuming their crowdloan modules remain open and the private bidders have the interest in pursuing a slot again, rather than waiting for a less competitive auction.

Moonriver Crowdloan on Kusama

This article was written for educational purposes and intentionally does not mention the Moonriver crowdloan in great detail. If you want to know more about the plans for that program, and how Moonriver plans to obtain a parachain slot on Kusama, please refer to the information that has been published on the Moonbeam Foundation website:

Once a parachain slot has been won, you can track the Moonriver launch status here.

To learn more about Moonriver, please refer to the Moonriver page on our website or join one of our social channels: Twitter, Telegram, Discord.

How Polkadot and Kusama Slot Auctions Work was originally published in Moonbeam Network on Medium, where people are continuing the conversation by highlighting and responding to this story.