Follow up on KuCoin Delisting
This article aims to provide objective information and allow you to come to your own conclusion. Without access to KuCoin's database, it is impossible for us to be certain without a shadow of a doubt that certain items in this article truly took place.
However, multiple other reasons with clear-cut evidence forced us to delist from Kucoin to protect our company and community.
The blockchain can be pretty difficult to analyze, and we might miss things. If you discover anything not presented in this article, please let us know.
Background
From the very start, our goal with the Aurox Token was to keep a small and tight supply to reward our product users. Instead of minting billions of tokens with an ever-expanding circulating supply, we created a token with a maximum supply of 1 million. We have also remained firm against distributing tokens to anyone for services rendered. To date, all the reserves remain unchanged except the exchange listing reserves.
Almost every token in this space reserves a certain percentage of tokens for exchange listings. Most, if not all, exchanges will ask for tokens as part of the listing contract, or the tokens will be necessary to provide liquidity to the market. We reserved 50,000 Aurox Tokens for this reason.
The Terms
During mid to late 2021, we approached a variety of exchanges to list our token to help our users acquire Aurox Tokens easier than through DEXes.
KuCoin was on top of the list as they're known to be the bridge between DEXes and the tier 1 exchanges. Most small and medium-cap project will begin their process by listing on DEXes, and once there is enough interest, they will attempt to list on KuCoin before graduating to Coinbase, Binance, etc.
KuCoin expressed interest at the end of 2021, but with the USA and Chinese holiday season and our token migration, it wasn't until early 2022 when we were presented with the contract.
Part of the listing terms was to provide them with a certain amount of tokens, as we had expected. We pushed back on this and asked if we could do a cash-only listing.
They said no and would only list us if tokens were involved. They specifically stated that they "liked our project and wanted to be long-term holders."
After several weeks of internal discussion, we countered their requested amount and agreed to provide them with 10,000 tokens vested over 14 months.
We also requested a first right of refusal provision added to the contract. If KuCoin decided to sell the tokens, they would first have to give us the option to buy back them at fair market value.
Unfortunately, we can't provide the contract itself, but it's a simple boilerplate template with the following terms:
- 10,000 tokens staked and vested over 14 months with the first right of refusal.
- Vesting contract: Etherscan Link
- $200,000 in USDC for a "security deposit" which would be released in 25% increments over the next 2 years, unless we violated the contract.
The Listing
On March 29th, the Aurox Token was listed on KuCoin.
We were excited to complete a significant milestone and set our eyes on Coinbase and Binance exchange listings.
The bear market intensified over the next few months, which caused the Aurox Token transactions and trading volumes across the entire crypto market to dry up. More specifically, DEX volumes for small and medium cap projects were extremely low.
The lower number of on-chain transactions made monitoring the movement of tokens easier, which is when we first noticed something odd.
Arbitrage?
We need to explain a few key points about arbitrage because it will help you understand some parts of this article.
Arbitrage bots are simple. They will buy tokens on exchangeA for priceX and sell it on exchangeB for a higher priceY.
Unlike algorithmic trading bots, it's extremely rare for an arbitrage bot to "hold" the asset for longer than a few minutes. They do not slowly accumulate assets at a specific prices, and then hope to sell them for a higher price on a different exchange later. They try to trade as quickly as possible to close the spread between the exchanges and make a profit.
The one essential item is that an arbitrage bot has to pay attention to liquidity. Arbitrage can be impossible if the exchanges the bot is arbitraging have significantly different levels of liquidity.
For example, lets assume token price on exchangeA is $5 with very little liquidity. The 10% order book depth is $100, which means buying or selling $100 worth of the token would move the price by 10%.
Whereas exchangeB has a lot of liquidity and price is $5.25. The 10% order book depth is $50,000.
At first look, there seems to be an arbitrage opportunity, but the lack of liquidity on exchangeA makes it difficult or impossible.
If you tried to buy $100 of the token on exchange A, the price would go up by 10%, and your average entry price might be higher than the price of the token on exchangeB ($5.25).
Compared to traditional markets, the liquidity in crypto markets is significantly less. That is why we have seen so many DeFi projects implode when attacked with financial-based hacks, such as large flash loans. It also makes crypto arbitrage a very lucrative field. It's difficult, but without a doubt, lucrative.
The more exchanges a small-cap token is listed on; the more arbitrage can happen as the liquidity is spread thin. A single large order can move the price of a token by several percentage points.
Arbitrage is standard and can be healthy for the market by stabilizing prices across exchanges. Because of that, these transactions are usually overlooked or ignored by the average trader.
These arbitrage transactions are easier to pay attention to during the bear market since there are fewer on-chain transactions. That is when we started to notice withdrawals from KuCoin, primarily by smart contracts, which would then sell on Uniswap.
A typical-looking arbitrage transaction.
However, the Aurox Token liquidity on KuCoin was significantly less than on Uniswap. Here is a screenshot taken on November 13th, 2022.
Although that is a few months after we noticed this issue, the liquidity ratios were similar from the start of the listing until the delisting. We don't have an earlier screenshot, as this is the only one we took when we started gathering more evidence.
As you can see from the screenshot, it would take ~$21,000 in buy or sell volume to move the price by 2% on Uniswap, and less than $100 to move the price by the same amount on KuCoin.
In token amounts, it would take over 1,000 token volume on Uniswap and just 2-3 tokens on KuCoin.
The drastic liquidity difference makes arbitrage somewhat difficult and maybe even impossible when accounting for fees. Yet, daily, these bots were withdrawing dozens, if not hundreds, of tokens from KuCoin and selling them on Uniswap.
In the link below, you can find on-chain transactions of withdrawals from a wallet labeled KuCoin9 from the date of the listing until the end of 2022.
Notice specific transactions are withdrawals from KuCoin to MEV bots, which then sell on Uniswap. It is impossible to know who owns these bots or how they function, but it was apparent that they were constantly selling tokens on Uniswap while withdrawing from KuCoin.
For the matter of transparency, some of these bots also purchased tokens from Uniswap and deposited them on KuCoin. Although much more rarely than the other way around. This is why we never noticed it before; these transactions seemed like everyday arbitrage transactions.
Keep in mind that even though a bot might be both buying and selling, that doesn't mean the bot is a simple arbitrage bot.
One example of an "arbitrage" bot performing more than just arbitrage is market makers (more on this below).
Based on our review, that's what we found. Even though some of these bots were buying from Uniswap here and there, there were multiple things, as discussed earlier, which made us wonder if these bots were performing just arbitrage.
We're providing this information as background. It explains why we doubted these transactions were just arbitrage because of our previous discussions with market makers.
This is solely for background information, and we are not stating these transactions were done by market makers. Instead, we're providing some background experience and why we already doubted that these transactions were regular arbitrage.
There are a lot of predatory companies in this industry, which we only realized after we created the Aurox Token. Some market makers fall under that umbrella and pray on new, inexperienced projects. Some of the things they perform isn't too different than from the transactions we saw with these bots.
Market makers are supposed to create a liquid market on both sides of the order book. If the price of an asset is going up, their limit sell orders in the order book will be taken by regular users. If the asset is going down, their limit buy orders will be taken by normal users.
In a perfect world, they are supposed to be a net neutral for the market. They should not force the price up or down based on their orders.
But that's not always the case in crypto.
In crypto, some market makers are known to liquidate tokens they acquired through various means outside of purchasing them from the market. They will create a liquid market and keep price parity across exchanges while also slowly selling tokens and creating negative pressure on the token.
In fact, most market makers will even offer arbitrage as part of their package.
If you were to review their orders, it would look normal. You could only see the whole picture if you reviewed their balances and what price they bought and sold.
We were only made aware of these types of "arrangements" after speaking to some of the top market makers in the industry. It took us a shockingly long time to find and hire market makers who were willing to accept a cash-only deal for their services.
For example, one contract we were offered was to give them 5% of the total supply as a "loan." In reality, it was a predatory option contract that allowed them to either return the 5% at the end of the contract or pay us in stablecoins at a pre-determined strike price.
Let's imagine you provide these market makers 5% or 50,000 tokens at a strike price of $5. By the end of the contract, they would either have to give you your tokens back or pay you $250,000 (strike price * 50,000).
If the token exceeded expectations and started trading at $100, they could sell all 50,000 tokens, creating massive sell pressure while they would only have to repay $250,000 at the end of the contract.
If the token did horribly and traded under $1, they just returned your tokens to you.
It might seem like a great deal because if your token isn't doing well, you receive free market-making service. But you have to remember that market makers can have a LOT of impact on how a token trades. Especially a market maker that has 5% of the total supply of a token. They can move the price up and down at their discretion for low to medium-cap projects.
By taking on these predatory contracts, the projects and the community can put themselves at significant risk without even realizing it. What will look like everyday market making or arbitrage will, in fact, be a slow death for the company.
First rights not given
Over the next few weeks, we monitored these bots and the prices on the two exchanges. We aimed to determine whether the bots were truly performing arbitrage or something more nefarious.
It did not make sense how so many tokens were purchased on KuCoin and sold on Uniswap with such a slight price difference between the two exchanges. It only made sense if the bots acquired tokens slowly over days or weeks, then withdrew and sold.
But as previously discussed, it's extremely unlikely for bot developers to do this, especially in a bear market with small-cap projects. As everyone has already seen, small-cap projects are hit the hardest in bear markets. A random bot buying up supply over a long period to flip them for profit while prices are already in decline makes little sense.
If these bots were algorithmic instead, then the bot would not have been profitable during this period of downward price action.
Things became even more concerning when we noticed how quickly the bots could capitalize on "arbitrage." If a medium or large order happened on Uniswap and the price went up slightly, almost immediately, a bot would withdraw from KuCoin and sell on Uniswap.
Although this seems normal, everyone who has withdrawn from centralized exchanges knows it can take a while before tokens are sent to your wallet.
As stated at the start of this article, we will remain objective on this. The transactions link we provided above can be used to compare with the historical KuCoin data to make your determination.
After monitoring these transactions for a few weeks, we remembered the 10,000 vested tokens as part of the listing contract.
Checking on the tokens, we noticed they were being withdrawn incrementally as they vested. The tokens were then subsequently sent to KuCoin's hot wallets.
We couldn't prove without a shadow of a doubt these tokens were being liquidated on Uniswap by those bots, but this was proof that KuCoin was utilizing the tokens. They were breaking our agreement if they were selling these tokens without allowing us to repurchase them at fair market value.
We then checked all of KuCoin's wallets to see their on-chain balance. In total, KuCoin's wallets contained ~11,200 tokens, while ~8,700 tokens were withdrawn from the vesting contract.
If KuCoin had not sold any vested tokens, it would imply that our users deposited/owned just 2,500 of the 11,200.
That seemed impossible to us, mainly because just one of KuCoin's wallets had 6,500 tokens deposited by regular EOA wallets belonging to our users.
Armed with this information, we approached KuCoin and asked if they had sold tokens instead of allowing us to repurchase them. You can find the conversation below.
They confirmed our suspicions; 5,483 of the 8,700 tokens were sold on the market.
They would release our security deposit earlier than expected to remedy the situation.
Whether or not they told the truth about the number of tokens sold, when it was sold, whether it was indeed a mistake, or if they were sold on Uniswap, we'll let you make that determination.
We will mention that the tokens from the vesting contract were being withdrawn starting in 2022.
10,000 sold.. or more?
Although the above explained part of the issue, the numbers still did not add up for us.
Even if we assumed all the 8,700 tokens withdrawn from the vesting contract were sold, significantly more tokens were finding their way from KuCoin's hot wallet to Uniswap.
We found smart contracts had withdrawn (or deposited) several factors more than EOA wallets had deposited during our listing. Again, although this could have been regular arbitrage, some discrepancies made it difficult to believe.
To us, it seemed these bots were transacting with many more tokens than they could purchase without skyrocketing the price on Kucoin. This could potentially mean someone was utilizing user-deposited tokens, liquidating them on Uniswap, and slowly draining the liquidity.
Unlike the previous issue, where Kucoin mistakenly sold the vested tokens without notifying us, we cannot prove this without a shadow of a doubt. It would require access to their database to make that determination fully.
Again, this theory based on the on-chain information we found and our heightened skepticism, which first sparked our internal discussions on delisting.
Now, if our theory is correct and someone was selling user-deposited tokens, then at some point, they would be forced to buy back the tokens to pay back the "debt." Otherwise, they would end up in the same situation as 3AC, FTX, etc..
Remember the above statement, and we'll come back to it.
Deposits Disabled
In July, one of our users notified us that the withdrawals and deposits for our token on KuCoin were disabled.
It was completely unexpected as we hadn't received any communication about this issue from them KuCoin.
When asked about the issue, KuCoin claimed it was a security precaution from the Multichain hack and shutdown since our token was utilizing the Multichain Bridge at the time.
We decided to investigate their claims and checked on various other tokens listed on KuCoin.
We checked approximately ten impacted tokens that ranged from very low-cap to large-cap projects. Some of them were severely impacted by the Multichain issue, where the attackers stole 1000s of tokens.
Yet, none of the tokens had their withdrawals or deposits disabled — only ours.
From the start of July until the end of August, we asked them multiple times for an update or resolution on the issue yet received minimal or no responses.
For reference, we could withdraw most of the tokens from Multichain contracts, and the small remaining amount we could not withdraw is now permanently locked into the bridge.
Request To Delist
At this point, we had even more doubts about the vested tokens and the deposit/withdrawals being paused.
We'll try to allow you to make your judgment, but we felt there were enough concerns to initiate the removal of the Aurox Token from KuCoin.
They were quick to agree to our request. However, the process was anything but transparent, as seen in the chats below.
We requested information on how the process works, what kind of announcement is made, and when it would occur, yet we received partial or no answers.
In fact, we didn't even know the announcement was made on September 11th when our users notified us. Although we knew it would be announced soon, multiple unanswered questions about the process remained unanswered.
The delisting process left us entirely in the dark and created unneeded uncertainty within the community.
Even if there was a misunderstanding or language barrier, it was shocking not to receive a notification on the day of the announcement.
Not over yet
Now, going back to the previous discussion on whether only the vested tokens part of the listing contract were sold or if there was some party selling tokens not owned by the said party.
A mass withdrawal of tokens from any institution usually leads to a bank run. Institutions that do not engage in loans, margin and other similar instruments should be safe from the repercussions of a bank run.
The Aurox Token was only available for SPOT on KuCoin, and users should have been able to withdraw all of their tokens without issues. 1 Aurox Token deposited to KuCoin should represent 1 Aurox Token balance to that individual's KuCoin account.
If user-deposited tokens were sold on Uniswap by some malicious individual(s), they would be forced to purchase them back at current market rates to cover the "debt" when and if the original depositors withdrew their tokens.
If our theory were correct, delisting from KuCoin would undo some of the previous damage to the Aurox Token and force the malicious individual(s) to buy back the same amount of tokens they "borrowed."
We first received a potential confirmation of this happening on July 12th, when the Aurox Token saw a 42% gain only on KuCoin — reaching $24 per token.
This random spike happened before we asked to delist, but less than a week after the deposits were frozen.
Although we expected this type of thing, we did not expect it to happen on KuCoin, let alone before we asked to be delisted.
We started discussing internally and came up with a theory on what might have caused it.
Again, this is just a theory, and it's only possible to prove with access to KuCoin's database.
Let's take the following example:
- Users have deposited a combined 10,000 tokens to a malicious exchange, ExchangeA.
- The price of the token is $100.
- ExchangeA takes 5,000 tokens, withdraws them, and sells them on ExchangeB.
- The price of the token has dropped to $10.
- ExchangeA makes $300,000 when accounting for regular market dynamics.
- ExchangeA now owes 5,000 tokens to users who are unaware that some of their tokens were sold.
- ExchangeA turns off deposits.
- ExchangeA takes $100,000 from the $300,000 it made and starts purchasing tokens from its own exchange.
- Price on ExchangeA for the token eclipses prices on other exchanges, but since deposits are disabled, no one can arbitrage.
- The users see the significant price discrepancy and realize they can sell for a considerable premium on ExchangeA. Then, if they want, they could even buy back the same amount for an even lower price on the other exchanges.
- Users rush to sell tokens at the premium, not realizing they're trading their imaginary tokens to ExchangeA.
- ExchangeA has now purchased back 5,000 imaginary tokens for $100,00 from the same users from whom they took the original tokens.
- The token's price slowly returns to parity as more and more people sell at a premium.
- ExchangeA profited $200,000.
Now, whether this is what happened or it's merely a coincidence, we will let you make the determination.
Now, whether this is what happened or it's merely a coincidence, we will let you make the determination. However, we know that several people took advantage of the price discrepancy when this incident happened.
From our point of view, there were too many coincidences for us to ignore. It was the last straw before we asked them to delist our token.
Unfortunately, we realized at this point that it was unlikely the malicious individual(s) would be forced to buy back the 'bad debt' on Uniswap.
We were left with one question: why would they buy back tokens at an inflated price with less liquidity on KuCoin? Why not purchase on a more liquid market like Uniswap, where buying back 5,000 tokens would have only increased the price by 5-10%, leading to a lower average cost?
In our opinion, the answer is simple. Control and lack of transparency.
It was simpler to flip a switch and much more hidden than on-chain transactions since they had control of their platform. It's likely this functionality of the platform was already built in and done previously to other token projects.
This type of incident repeated multiple times in early September, just days before the Aurox Token trading was frozen and the delisting announcement was made.
In each case, deposits were disabled, and the token price randomly spiked only on KuCoin while no major news or information was announced, which could have led to the price increase.
Final Thoughts
This industry, just as any financial industry, is fraught with predatory and malicious individuals who will do almost anything to pad their bank accounts. When Satoshi created Bitcoin, he set out to eliminate the greed, narcissism, and selfishness of these types of individuals
Unfortunately, a significant portion of the crypto industry has twisted and reintroduced this human element into the decentralized blockchain: One byte and one centralized service at a time.
That is not to say decentralization is a failed experiment, but rather; the industry has gone insane by repeating the same thing over and over again while expecting different results. Our experiences, such as the one described in this article, made it even more apparent why decentralized finance is necessary.
This account is not just a chronicle of a single challenge we have faced but a mirror reflecting the broader issues within the crypto space. It emphasizes the need for improved regulatory clarity for centralized authorities, better safeguards against market manipulation, and a stronger drive towards decentralization where innovation can thrive without being undermined by predatory practices.
Our company will remain unwavering and continue upholding our ethical standards in the face of malicious adversity. Our perseverance in these hurdles underscores our commitment to the community, company, and the Aurox Token.
Our community will now understand that our decision to delist the Aurox Token from KuCoin was made to protect everyone involved in the project.
Thank you,
The Aurox Team