SeeSwap Basics

What is SeeSwap Protocol?

SeeSwap is a protocol for multi-token Automated Market Making. It enables portfolio owners to create SeeSwap Pools, and traders to trade against them. SeeSwap Pools contain two or more HRC20 tokens (only dual-token-pools are implemented in v1), each with an independent weight representing its proportion of the total pool value.

The pools provide the SeeSwap Protocol with liquidity, and charge traders a fee for access to it. Pools can be considered automated market-makers, since anyone can swap any two tokens, in any pool. SeeSwap is non-custodial since we do not have access to your tokens.

How is the SeeSwap Protocol useful?

Two categories of users who can benefit from the SeeSwap Protocol:

  • liquidity providers - who own SeeSwap Pools or participate in shared pools

  • traders - who buy or sell the underlying pool assets on the open market

Anyone with two or more HRC20 tokens can be a liquidity provider. For example:

  • Portfolio managers, who want to have controlled exposure to different assets without complicated and expensive rebalancing

  • Investors who have HRC20 tokens sitting idly in a wallet, and would like to put them to work earning passive income from fees

Is SeeSwap Protocol fully permissionless?

Yes. SeeSwap Pools cannot be censored or whitelisted. Traders cannot be censored or whitelisted. SeeSwap core team does not have the power to halt or edit the smart contracts in any way after they’ve been deployed. The contracts are not upgradeable, and there is no admin functionality or "backdoor" present in the code.

Of course, SeeSwap has no control over the contracts of HRC20 tokens placed in SeeSwap pools. If a centralized token (e.g., USDs) were to blacklist an address or freeze all transfers, that would affect all USDs tokens everywhere, including those in SeeSwap Pools.

Does SeeSwap Protocol charge any fees at the protocol layer?

Yes. SeeSwap charges fees for wrapping and exiting pools:wrap_fee and unwrap_fee is set to 1%, which can be changed on demand from the community; EXIT_FEE is defined as constant and set to 10%.

SeeSwap Pools

What are liquidity pools?

Liquidity pools are pools of tokens that are locked in smart contracts. They are extensively used for liquidity provision to facilitate trading on Decentralized Exchanges. Unlike centralized marketplaces, where sellers and buyers are matched under the order book model, liquidity pools facilitate trades in a permissionless, secure and immutable manner, providing financial access for all.

In the most basic form, a single liquidity pool holds 2 tokens and it now becomes a marketplace for this token pair. As an example, let's create a ONE/SEED pool and we put 1,000 SEED + 6,000 ONE tokens in it. Note that the price of token x is the ratio of token_y/token_x, in our case 1 SEED = 6 ONE.

If trader 1 comes and exchanges 100 SEED for 600 ONE, the pool balance will be 1,100 SEED + 5,400 ONE, meaning the pool price is 1 SEED = 4.91 ONE, tilting slightly lower for ONE. Assuming the global market price remains the same, this price divergence will encourage traders to trade ONE for SEED and arbitrage the pool price back.

However, under the constant-product AMM mechanism, trader 1 pays more than the transaction fees. Based on the x * y = k formula, he will get 545.45 ONE in exchange for 100 SEED, instead of 600. This divergence is called slippage.

So how efficient is this pricing mechanism? Let's have a look at the Unifi ONE/SEED pool as an example, which just launched 3 days ago. The market price for SEED and ONE are $0.00477349 and $0.03293987, approximately 6.90 ONE per SEED.

What is a SeeSwap Pool?

SeeSwap Pools are the fundamental building blocks of the SeeSwap Protocol. As mentioned above, SeeSwap Pools are smart contracts that implement the SeeSwap Protocol, and hold value in two or more HRC20 tokens.

You can think of a SeeSwap Pool as an automated, market-making portfolio. Each token asset has an independent weight and can be traded against any other token in the pool. In SeeSwap V1, we have only implemented dual-token pools, i.e. there are 2 HRC 20 tokens in the pools and each weight 50%.

The value proposition of SeeSwap flows from two main features:

  1. Regardless of the fluctuation of token price in the global market, the pool as a whole is continuously rebalanced (by arbitrageurs) to maintain each token's proportion of the total value.

  2. Each trade generates a fee for the liquidity providers/pool owners. The fee is a percentage of the trading volume and is customizable by the pool owner when the pool is created.

Thus the incentives of both participants are aligned. Liquidity providers earn trading fees, while the overall value of their portfolio is preserved through continuous rebalancing. Traders pay these fees for the opportunity to either swap tokens with low slippage or profit from arbitrage opportunities between pools and the open market.

We highly recommend reading this guide by Uniswap to understand the risk and return for liquidity providers.

How are SeeSwap Pools continuously rebalanced?

We believe this is the main innovation introduced by the SeeSwap Protocol. Pools are efficiently rebalanced through a multi-dimensional invariant function used to continuously define swap prices between any two tokens in a pool. Essentially, it is an n-dimensional generalization of Uniswap'sx * y = kformula.

Imagine a portfolio that contains a certain proportion of token A, and its external market price increases. In a conventional rebalancing process, the portfolio manager would need to take action - in this case, pay a trading fee to sell token A (and probably pay another fee to buy something else to replace it).

In contrast, SeeSwap Protocol lets rational market actors actively buy token A from the pool, presumably to sell elsewhere on the open market at a profit. The portfolio manager (SeeSwap Pool creator in this context) does nothing but collect the fees.

So instead of doing work and paying fees to rebalance their portfolio, SeeSwap Pool creators earn fees while traders do the rebalancing work for them. Conversely, traders benefit in two ways - high liquidity allows low slippage on "retail trades," and arbitrageurs can directly profit from swings in external market prices.

How do SeeSwap Pools charge fees and how much are they?

SeeSwap pools charge a percentage of the input amount traded for each trade which goes entirely to the SeeSwap Pool liquidity providers. swap_fee is defined by the pool creator (set to 0.5% for initial pools).

Can I create a SeeSwap Pool?

Yes. SeeSwap Pools can be controlled or finalized. Essentially, finalized pools are "public" - their parameters are fixed, and anyone can add/remove liquidity and swap tokens. Controlled pools are "private" - their parameters are not fixed, but only the pool creator can add liquidity.

4 SeeSwap pools are created by the team initially at the launch of v1 with a 0.5% pool fee. Aligned with a decentralized & autonomous approach, our community will make decisions on adding new pools, changing pool parameters, adding governance incentives and many other aspects of the SeeSwap protocol.

Are there constraints for setting up a SeeSwap Pool?

Only a few. SeeSwap Protocol limits pools in the following ways:

  • Number of tokens: pools must contain two tokens in v1, and may contain up to eight tokens in v2.

  • Swap fee: the fee must be between 0.0001% and 10%

  • HRC20 compliance: pool tokens must be HRC20 compliant.

Using SeeSwap Protocol

How can I use SeeSwap as a trader?

There are two ways a trader can interact with SeeSwap Protocol:

  • Through our Exchange front-end: seeswap.one/swap.

  • Directly through our smart contracts on Harmony Mainnet.

How can I use SeeSwap as a liquidity provider?

There are two main ways a liquidity provider or portfolio manager can interact with SeeSwap Protocol:

  • Through our pools front-end: seeswap.one/pools.

  • Directly through our smart contracts on Harmony Mainnet.

Miscellaneous

Does using SeeSwap Protocol generate taxable events?

We cannot provide tax or accounting advice. Tax regulations are specific to the jurisdiction where you or your company reside. For any legal or tax matters we recommend consulting your own attorney.

Are there risks in using SeeSwap Protocol?

SeeSwap Protocol smart contracts is a fork from Balancer whose code has been audited thoroughly. We also see security as a top priority and our code has been formally audited by external partners. However, security audits don’t eliminate risks completely so it’s still possible a vulnerability be found in SeeSwap smart contracts. Also, remember that the tokens held in SeeSwap Pools are also smart contracts - not controlled by SeeSwap - and may have their own risks.

On top of the smart contracts themselves, whenever you join a pool, you’re also accepting systemic risks from the coins in the pool and the financial risk of impermanent loss.