Cover photo

Kiwi introduces new pricing and makes Kiwi subscriptions transferable

We recently introduced two breakthrough modifications to our Kiwi Pass NFT.

Kiwi Pass NFT represents a Kiwi News subscription, just like ENS NFT represents an ENS subscription. Users mint Kiwi Pass when they sign up for our app.

1) The Kiwi Pass (and the subscription) is now fully transferable.

This means that:
- You can buy a Kiwi Pass NFT, and if you don’t like the app, you can sell the NFT on the secondary market. This means we let users sell the subscriptions they don't use.
- You can buy a Kiwi Pass NFT and send it to your friend. In other words, you can buy a subscription as a gift.
- If you think the Kiwi Pass price will increase, and you want to get more subscriptions (e.g., as future gifts for your friends), you can buy the NFTs in advance.

2) Our primary sales pricing is based on a Dutch auction. 

So, the more people mint the NFT per day, the more expensive it gets. The less people mint it, the cheaper it gets. (more information: in “How does it work”)

This means that:

  • Despite Kiwipass having an infinite supply, its price on the secondary market might go up if the primary market price goes up as well.

  • By raising the price, we can influence how many people per day mint the Kiwi Pass. Thanks to that, we can preserve our Kiwi culture if there’s more demand to mitigate the effects of the Eternal September.

Why the Kiwi NFT wasn’t transferable before

Initially, Kiwi Pass wasn’t transferable for a number of reasons. 

First of all, we wanted to control the price of the NFTs.

Since we were the only place users could buy a Kiwi Pass (NFTs bought on OpenSea wouldn’t let you interact with the protocol), we had full control over its price. This was important as we were trying to discover the best price, and our experiments ranged from pricing it at $4 to over $100.

We think that - as we have now introduced the new primary sales pricing mechanism - the secondary market wouldn’t affect the minting that much. But that remains to be examined.

Secondly, we wanted to prevent spam.

With NFTs bound to a wallet address that minted them, it’s a bit harder to spam the network since a person can’t mint many NFTs and move them around multiple wallets. 

We realized, though, that spam is better solved with an onchain reputation. We were inspired by tools like Gitcoin passport, which allows you to limit someone’s activities based on how long ago the address was created, how many onchain txs it has, whether it is linked to the ENS, and so on. Thanks to that, the cost of a spam attack would be higher than just buying an NFT.

How does it work

So, how does the transferability work?

Every few minutes, we index wallet addresses that hold the Kiwipass NFT and add them to the allowlist. When the address gets added to the allowlist, it can interact with the protocol - submit, upvote, and discuss links. 

And how does the pricing work?

The pricing mechanism is inspired by a “Variable Rate, Generalized Dutch Auction” (or, in short, VRGDA), documented by Paradigm.

We set a number of mints that we aim for per day, and the price changes based on whether we hit our target or not. 

The price follows this equation:

Here's an explanation from Paradigm's team that helps to understand the main idea behind it:

Imagine a simple schedule where we want to sell 10 NFTs per day. We set a starting price of 1 token for the first NFT.

Suppose it is currently day 5, so we should have sold 50 NFTs. However, demand has been high, and we have sold 70. We weren’t supposed to sell 70 NFTs until day 7, so we are two days ahead of schedule.

As a result, we want to charge a higher price going forward. We use an exponential curve to determine how much higher. This can vary based on parameters, but in this case, let’s say we use , so that we increase our price by a factor , so since our initial price was 1 token, the new price will be 4 tokens, making it harder to buy more NFTs.


Ten days later, on day 15, we should have sold 150 NFTs, but users have only bought 120, the amount they should have bought by day 12, meaning we are three days behind schedule. We adjust the price to , making it easier for users to buy more NFTs.

It’s pretty intuitive once you work with the real numbers. We created these Google Sheets where you can play around with the formula and see how it impacts the price*:

Link to Google Sheets playground

You can also check how it works on the code level by looking at our app-level implementation:

Link to our GitHub blob

*There are also some implementation caveats we are working out. E.g. right now, the formula counts airdrops as mints, and that impacts the price of the NFT. Eventually, we want it to not include airdrops in the pricing formula.


This change is significant and opens a new chapter in Kiwi’s history. We believe that giving users more freedom to transfer or sell their subscriptions is a step in the right direction. We don’t know how it will play out yet, but we are excited to experiment.

And if you’d like to check our NFT, you can mint the Kiwipass here.

Kiwi Updates logo
Subscribe to Kiwi Updates and never miss a post.
  • Loading comments...