Transparency Report #1 - BitSwap Exchange Launch

By @sigil and @HughJiang • Published May 5, 2021

On April 4th, after creating and announcing the development of @BitSwap, the BitSwap creator coin hit a $1 million market cap and verified in 12 hours, generating a waiting list of more than 1000 with millions in volume to be transacted.

On April 10th, the BitSwap Beta was released for a small batch of private testers, who facilitated the first human-less OTC swaps.

gif courtesy of @uyxela

Though after initial testing we recognized the problems with human delays in swaps and the reliance on either party to be active.

We had a new guiding question: how can we make transactions as fast as possible?

Guided by first principle thinking, we scratched the beta codebase in favour of a complete redesigning for a new swapping system that allowed for instantaneous transactions.

Many late nights researching, coding, white paper reading and writing was not for nothing.

On April 20th, we dropped the BitSwap white paper on solving BitClout's liquidity problem. Now it's time to execute that.

We took your suggestions from BitSwap Beta and launched the first iteration of our V1 product: BitSwap Exchange.

Stayed up until 5 AM getting the onboarding video out for you guys.

Later that morning we onboarded @jakeudell and @0xrodney to the platform with the video, and they took part in the 2nd ever exchange on BitSwap for a total value of $90,000 swapped. Pretty good for our first day.

That day we also onboarded a few of our coin holders and invited other members to test out the platform. Everything went smoothly (for the most part) and if there were any minor problems, we got them fixed them pretty fast.

So, we went ahead and opened up BitSwap Exchange to the first 100 people on our waitlist.

And that's exactly when bigger problems started to appear. Such great timing huh?

Right away we started to get emails and Discord messages about deposits not going through, withdrawals not working properly, swaps getting stuck, and more.

Turns out a lot of the "bugs" were actually user errors. I guess people don't like watching onboarding videos or listening to instructions.

Just kidding :) - While some of the errors were because of user error, our app user interface was also convoluted and confusing, which probably definitely contributed to a lot of the errors that we faced. Building a product is about making the user experience as intuitive as possible, guiding the user clearly through the intended flow.

For example, a lot of people kept trying to sign in using their emails instead of their BitClout account. Other people entered their usernames wrong because our login was still case-sensitive at that time (luckily we finally fixed this so you won't have to experience it anymore).

Increasing gas speed (hours ⇒ seconds)

We were also getting a lot of stuck swaps because a misconfiguration in the Ethereum gas API meant that we were using the slowest transaction speed. So our transactions would take hours to verify and send successfully.

It took us around a day to figure out what the problem was and to fix it. But we got it done :)

Fixing BitSwap Deposits and UI

After opening BitSwap to the top 100 waitlist users, we also had a problem with BCLT deposits into BitSwap - both because of user error and because of errors on our side.

It took us a while to figure out what was wrong with the deposits, but we were able to fix the main bugs to get the system up and running again.

We also had a lot of user errors in depositing - people weren't sending BCLT from the same BitClout account registered on BitSwap, people weren't sending the right amount, people were accidentally sending BCLT to themselves from their own BitClout account (don't ask me, I don't know how this happened).

So we worked to make the depositing interface more intuitive and easier to use for anyone. This is what we have so far:

Now, when you deposit there are explicit instructions for where to send BitClout and which account to use for sending it, and the exact amount you need to send. We also emphasized important warning text so you see it easily even if you don't like to read instructions (which nobody does).

We're also actively improving the depositing so there are even less errors in the future.

Metamask Wallet and Web3 Integration

Then, swaps were getting stuck because people were sending Ethereum from a wallet that wasn't registered to their account on BitSwap. Or they weren't sending the right amount.

This meant we couldn't verify the transaction automatically, so we had to issue a lot of manual refunds or manually verify a lot of buy transactions.

We thought, why not just integrate Metamask's Ethereum wallet into our application? This would automatically input wallet addresses and amounts for you, so to avoid typos and data entry mistakes on the user's side.

(Metamask is an Ethereum wallet that you can get as a Chrome browser extension. It makes using BitSwap so much easier!)

With Metamask integration, you can automatically connect your wallet to your BitSwap account, and we can automatically key in transaction amounts and wallet addresses.

No more mistakes in entering addresses or amounts, or forgetting to connect your Etehreum wallet to your BitSwap account. If you use Metamask, it's all integrated together.

Further Improvements for Buying BCLT

Then, today we made even more improvements to the buying system. Now, we use individual escrow wallets for each transaction, so even if you forget to register the Ethereum wallet you send ETH, your transaction will still be verified.

This means we now support exchanges like Coinbase, Binance, etc. for sending Ethereum, whereas previously we had to manually verify these transactions because these exchanges sent from a generic holding wallet, and not from the user's personal wallet.

So yeah, our private launch of BitSwap Exchange had a lot of bugs and problems. And there are still issues to fix, and feature enhancements to make. But we're getting there - take a look at some of the newer features that we've added in the past two days or so:

Adding in Filters and Sorting

We had a lot of requests to add sorting and filtering, both for BitSwap Beta and for BitSwap Exchange after we launched the first iteration to the private group.

While we didn't have time to implement this for the initial launch about a week ago, we were able to get filtering and sorting up a few days ago.

You can now filter listings by a range of prices and a range of volume being sold (i.e. filter to only see listings selling between 1 and 10 BCLT at a price between $75 and $120).

We also added a sorting feature after implementing the filters. You can sort by date, price, or volume, all in either ascending or in descending order.

Sorting and filtering should make it a lot easier for buyers to find listings to buy, and overall improve the liquidity on our platform so transactions happen faster.

Adding Transparency to Price and Volume

This was another feature we had originally planned to implement, but weren't able to complete in time for the initial launch.

Now we have a row of widgets at the top of the swap feed that provide some statistics about our platform's transactions.

Total Volume Transacted is the total US dollar amount of exchanges on our platform since we launched BitSwap V1 Exchange about a week ago.

Average Swap Price is a weighted average of all completed lisitngs on BitSwap since we launched BitSwap V1 Exchange.

Volume Reinvested is the total BitClout that we are reinvesting in the @BitSwap account. We're taking all the BitClout fees that we earn from BitSwap Exchange and reinvesting it in our BitClout account to help provide returns for our coinholders. For now, we're investing the fees periodically over the week, but we're looking to get a more concrete reinvesting schedule in the future.

These statistics (especially the live price updates) aim to make our platform more transaprent and to provide a record of fair market prices to both buyers and sellers.

We're also looking to add a feature that displays all past transactions and a historical price chart (including both price and volume updated on an hourly-daily basis) to provide even more transparency to the community. Working on this right now for you guys ;)

Waitlist Offboarding and the Incoming Public Launch

A day or two after onboarding the top 100 users on our waitlist, we opened the platform to the next 400 users.

As we fixed more bugs and added more features, we made a rushed decision would go public if we got enough reclouts on BitClout.

50 reclouts and @bitswap goes public 🚀

You guys absolutely destroyed the reclout button, and we reached 50 reclouts way faster than we thought. Seriously, it took 13 minutes...

We started that night by offboarding the rest of our waitlist (as long as they had confirmed their emails) and whitelisted them to register for BitSwap.

Now, I know what you're saying. This technically isn't exactly a "public" launch, but it achieved pretty much the same thing. As long as you sign up on the waitlist, you get access. (If you signed up but didn't get access for whatever reason, you can message us on our Discord group and we'll whitelist you).

The reason we didn't go fully public was that after a deeper discussion with the rest of the team, we realized that we weren't completely ready.

We want to make sure our final public launch is flawless (or as flawless as we can make it). We shouldn't have a single bug or error, and we want the user interface so intuitive that even a complete beginner can use BitSwap.

We also want to write more documentation and improve support for when things do go wrong. In our initial private launch, some emails went unanswered for almost a day. That's just way too long and not the type of customer support that we want to provide for the BitSwap and BitClout community.

As we scale our infrastructure, squash bugs, and improve the user experience, we prepare to make BitSwap fully public in the coming days.

For now, we're launching pseudo-publicly. If you want access, just ask Sigil, Aryan, Hugh, or Alex (uyxela) in our Discord group and we'll add your username to the whitelist so you can register and use the platform.

The Future of BitSwap Exchange

Our main right now is to get BitSwap live to the public without needing you to first sign up on the waitlist. Before we do a 100% public launch, however, we still have a few minor bugs to fix, and a few user interface and performance enhancements to make.

First, we need to fix a bug that prevents users from buying listings after they successfully complete a transaction. There are also some other small bugs in transaction fufillment that we need to fix.

We're also working on integrating a password reset feature in case you forget your password, or if you entered your password incorrectly.

Within the next few days, we prepare to make BitSwap completely public.

Happy Swapping!