At what point will minting a Random Walk NFT on Arbitrum become unprofitable?

Mirichael
7 min readNov 24, 2021

Random Walk NFT (RWLK) is one of the first generative NFT projects native to Arbitrum, which is a permission-less universal optimistic rollup secured and stored on the Ethereum blockchain.

It is interesting in that each mint produces a unique random walk of dimension 5 (2D space, and 3D colour) which can be displayed in a delightful 2D image. Unique walks are generated by calling the mint function of the contract 0x895a6f444be4ba9d124f61df736605792b35d66b , which generates an NFT which stores a random seed . This seed can then be plugged into this Python script stored on the InterPlanetary File System which can generate the image and vidoes of the unique walk.

I took part, and minted walk #002684!

RWLK is particularly unique since the minting process has the additional property of gamification. The game has the following rules:

  1. Minting a walk requires a fee in Ether (the native currency of Ethereum) that is collected by the RWLK contract.
  2. Every time a walk is minted, the fee collected is increased.
  3. If a mint does not occur for 30 days, the person who last minted a walk can withdraw 50% of the fees from the RWLK contract.
  4. Someone has to mint again before another withdrawal can be made.

An interesting question was posited by Swarra in the RWLK Discord :

“At what point will minting cost more than the potential withdrawal?”

Or, to put it another way: At what point will minting a RWLK NFT on Arbitrum become unprofitable?

Some initial assumptions

To get us started with this broad question, we will first limit the problem by making the following assumptions:

  • If there is a potential profit to be made by minting a walk, someone (or a group of people working together) will always mint another walk before the 30 day withdrawal opportunity is reached.
  • People were so excited by the launch of the project that at least two people minted a walk an hour after the launch, even if it is unprofitable to do so (not really an assumption, this is true!).
  • The gas cost of having a mint transaction processed on Arbitrum is negligible (thanks to those reduced fees!), and any other costs other than the minting fee can be ignored.
  • We define a mint being unprofitable if the withdrawal opportunity does not cover the cost of the mint.

This of course assumes that there is no limit to the price that someone will pay to mint a walk, and therefore someone will always mint another walk before the 30 day withdrawal period occurs; and I will address this more complex theoretical problem in a follow up to this medium article.

However, it can be shown that, under these assumptions, it will always be profitable to mint a walk, and therefore nobody will ever be able to withdraw anything from the RWLK contract!

Now, to do some maths (It won’t be that bad.. I promise!)

If we look at the code of the RWLK contract, we can obtain the following information:

  • On line 12, the mint fee for the first walk is defined as 0.001 ETH
  • On line 67, we see that each time a walk is minted, that fee is increased by a factor of 10011/10000 or by 1.0011% .

So, for each mint i (where the first mint is i = 0, second is i = 1, etc. ) the fee collected by the RWLK contract to mint an ith walk is given by the function:

m(i) = 0.001 * 1.0011^i

If people keep minting walks, as not to trigger the 30 day withdraw opportunity for the last person who minted a walk, after the ith walk is minted the amount of fees collected by the RWLK contract is given by the function:

f(i)= m(0) + m(1) + … + m(i)

That is, the summation of the function m from the 0 to i,

f(i) = Σ(k=0, i) m(k)

Then, the amount that can be withdrawn w from the RWLK contract by the ith minter (if nobody mints for the next 30 days) is given by dividing f by 2,

w(i) = f(i)/2 = 1/2 * ( Σ(k=0, i) m(k) )

Substituting m into w and simplifying, we then have,

w(i) = Σ(k=0, i) 0.0005 * 1.0011^k

This is a standard geometric series , and for a non-infinite i , the summation is given by ,

w(i) = [ 0.0005 * (1 - 1.0011^(i+1) )] / [1 - 1.0011]

After some manipulation of this equation, we can rewrite w as,

w(i) = -(5/11) + (5/11)* [1.0011^(i +1)]

How can we use this to show the outcome of the given scenario is true?

We want to determine if at some point the cost of minting a walk is greater than the potential withdrawal. That is, we want to know at which number of mints i does the following condition (*) not hold:

m(i) < w(i)

To answer this, we will determine for which general values of i ≥ 0 cause m(i) and w(i) to be equal to each other. We can then determine if, at some point, their graphs cross each other; that is, if at some point the price of minting becomes more than the potential withdrawal (or vice versa).

After equating m(i) = w(i) and some manipulation, we have,

1.0011^i = - 5 / ( 0.011–5*1.0011)= 1.0011012…

This only has one solution (if i was a real number) since 1.0011^i is a strictly increasing function on the real line. By inspection, we can establish that m and w are equal to each other somewhere between i = 1 and i = 2 (since 1.0011 < 1.0011012… and 1.0011² = 1.022121 >1.0011012… ).

We have all we need to solve the problem now!

We can now deduce that between between the second and third person minting a walk, the truth of the condition (*) changes. This change only happens once, because there is only one point where the value of m and w cross each other.

That is, when the second person mints, it is not profitable. However, when the third person mints, it is profitable.

We know that the first minter will have paid a 0.001 ETH minting fee, and that if nobody else minted after them for 30 days, they would only have been able to withdraw 0.0005 ETH. That is a 0.0005 ETH loss!

So, the first and second mints will not be profitable (hence the assumption I made about two people minting a walk an hour after the project launched, regardless of profitability). The third mint, and all further mints, will be profitable.

Then, we can arrive at our conclusion (derived from the assumptions we made earlier):

At least two people have minted a walk within the first hour of the project launching. If a mint is profitable, someone will mint another walk before 30 days elapses. It will always be profitable to mint a walk if this happens. Therefore, nobody will ever be able to withdraw anything from the RWLK contract.

Under these assumptions, what’s the behaviour of the profitability?

So, we’ve established that it will always be profitable to mint in our current scenario, but does this profitability change at all?

Does it become more profitable to mint as more people mint, or less profitable? Or does it become similarly profitable?

To establish this, we can return to our functions for the minting cost and withdrawal amount (rearranging the latter a bit):

w(i) = -(5/11) + (5.0055/11) * 1.0011^i

m(i) = 0.001 * 1.0011^i

As the number of mints increases, we can ignore the first term in the function w as the value of the function will be dominated by the second term. That is, as the number of mints increases w will actually behave like:

w*(i) = (5.0055/11) * 1.0011^i

This function is very similar to the function m. In fact, the functions are exactly the same, except for the fact that w* is the function m multiplied by a factor of (5.0055/11)/0.001 =455.045454545…. !

So, as the number of mints increases, the profitability of those mints converges to a 455.045454545(..)x return.

So, what next?

Obviously in deriving this model, we’ve made a fairly unrealistic assumption that someone will always have enough ETH to mint another walk. There is not an infinite amount of ETH floating around (especially as it is now being burned since the implementation of EIP-1559), and therefore there will come a point where nobody can mint (even if it is profitable), and the last minter will be able to withdraw 50% of the ETH from the RWLK contract.

Loads of questions remain unanswered here.

For what value of the mint fee might the first withdrawal occur at? When withdrawals start to happen, is it possible that this eventually makes minting unprofitable? Or will the mint fee increase to such a point where nobody can withdraw from the contract before it becomes unprofitable to do so? Does the profitability always tend to a 455.0454545(…)x return, regardless of the scenario? Can you find a scenario where the profitability doesn’t tend to 455x?

I encourage you to try out the simulation scripts Taras.eth (creator of the Random Walk NFT project) has created, which can be found on the RWLK Discord to see what scenarios you can find. Thanks also to Taras.eth for coming up with such an interesting NFT experiment!

I would like to follow this medium article up with some theoretical models (rather than brute force simulations) to some of these further questions when I have the time. Feel free to follow me on twitter @0xmirichael , I’ll likely post it there when I do. If you see any errors or have any questions, do let me know!

--

--

Mirichael
0 Followers

Ethereum, applied mathematics, animal rights. Not actually "The Dead Bride" / #2684 from Arbitrum RWLK collection.