How to do your Uniswap (UNI) taxes with Koinly
Whatever your Uniswap transactions, you'll need to figure out if you owe tax on them. Koinly can help.
Sign up to Koinly and choose your country and currency.
Connect the wallets you use to interact with Uniswap to Koinly to import all your trades safely and securely
Koinly identifies the cost basis of all your coins and tokens (including ERC-20 tokens), as well as your taxable transactions.
Koinly calculates any capital gains, losses, and income from your taxable transactions.
Koinly generates your crypto tax report - ready to help you file with your tax office, or hand it over to your accountant.
How to import Uniswap transactions to Koinly automatically
To import your Uniswap transactions, you'll need to connect each wallet you use to transact on Uniswap to Koinly. This is easy to do, you just need your public address - and we have steps on how to get your public address for all the most popular wallets on our integration page.
As Uniswap supports multiple blockchains, this may mean getting multiple public addresses from each wallet to ensure you're importing your transactions from all blockchains. Here’s an example of how it generally works.
On wallet
Open or log in to your wallet
Select the blockchain you’d like to connect to - for example, Ethereum or Polygon
Copy your public address
On Koinly
Sign up or log in to your Koinly account and go to the wallets page
Search for and select the blockchain you’d like to connect to - for example, Ethereum or Polygon
Give your wallet a name - for example - MetaMask or MyEtherWallet
Paste your public address
Select import
Want to learn how your Uniswap transactions are taxed? Find out more in our Uniswap tax guide.
What is Uniswap?
Uniswap is an Ethereum-based dex that lets crypto investors trade ERC20 tokens, without needing a third-party centralized exchange like Coinbase or Binance.
In general, centralized exchanges (and some decentralized exchanges) are designed to make money by taking fees. Uniswap attempts to do the opposite of this and function as a public good in the crypto space - letting investors trade tokens with no third-party or platform fees.
It does this using a pricing mechanism known as a constant product market maker model. It’s this mechanism that makes Uniswap work the way it does.
How does Uniswap work?
Anyone, anywhere can add a token to Uniswap. All they need to do is launch a new Uniswap smart contract by creating a liquidity pool and funding it with the token(s) and the equivalent value of the token(s) in another cryptocurrency. For example, $10 in ETH and $10 of examplecoin.
Instead of matching buyers and sellers to trade these tokens and determine the price of a token, Uniswap uses a constant equation:
x * y = k
X and Y represent the quantities of two tokens in a given liquidity pool, while K is the constant value. This equation uses supply and demand to determine the price of a particular token. In our example, if someone bought examplecoin with ETH in our liquidity pool, the supply of examplecoin decreases and the price goes up. Meanwhile, if someone sells examplecoin for ETH, the supply of examplecoin increases and the prices go down.
As you can see from this equation, the more liquidity there is in a pool - the less price slippage there will be when trades are made.
How to use Uniswap
To access Uniswap - you’ll need a Web3 wallet. Uniswap supports:
WalletConnect
Formatic
Portis
Once you’ve connected a Web3 wallet to Uniswap - you can trade ERC20 tokens and add and remove liquidity, as well as make flash swaps.
What can you do on Uniswap?
Any ERC20 token can be listed on Uniswap - currently, there are more than 50,000 trading pairs. Each token has a smart contract and a liquidity pool. Once it has this, anyone can trade the tokens or contribute to the liquidity pool.
When you contribute to a liquidity pool on Uniswap, you’ll need to contribute an equal value of the two tokens (like in our example). Once you’ve done this, you’ll earn a liquidity provider fee. This fee is proportional to the amount of liquidity you’ve provided. It’s usually set at 0.3% but can go as high as 1% for rarer trading pairs and as low as 0.05% for stablecoins.
When you provide liquidity on Uniswap, you’ll be given a liquidity pool token in return - which is also an ERC20 token. These liquidity pool tokens increase in value based on the transaction fees within the pool. So when you want to receive your transaction fees, you’ll exchange your liquidity pool token(s), which will be burned, and you’ll receive your original capital back, alongside your accumulated fees.
UNI Tokens
Uniswap has a native governance token - UNI. At the time of writing, UNI is priced around $11, but it’s had historical highs of $40 or more.
You used to be able to earn UNI tokens by providing liquidity on Uniswap - but this changed with Uniswap V2. You can however trade UNI tokens on Uniswap, as well as buy, sell, and stake them on other protocols and exchanges.
The UNI token gives you the ability to vote on key decisions for the Uniswap platform.
Flash swaps on Uniswap
Uniswap flash swaps are similar to Aave flash loans - which let you withdraw all the liquidity of any ERC20 token provided you return or pay for the withdrawn ERC20 tokens with a corresponding pair. This is all achieved through smart contracts that will cancel trades if you don't meet these conditions.
Why would you want to do this? Arbitrage.
Flash swaps incentivize arbitrage traders to balance prices on Uniswap with prices in the outside market. You'd normally need capital to do this, but Uniswap flash swaps remove this requirement. So let's say you see ETH priced at $2900 on Uniswap and $3000 on another DeFi protocol. You can use a flash swap to withdraw ETH on Uniswap, sell it to the other protocol, and return the original amount to Uniswap - without any capital of your own.
Staking Uniswap Liquidity Pool Tokens
One of DeFi’s big appeals is composability - the ability to ‘stack’ multiple DeFi protocols to generate higher yields. While you can’t do this directly on Uniswap, it’s well worth a mention as many investors were staking their Uniswap liquidity pool tokens in order to maximize their returns in V2 of Uniswap.
With the introduction of Uniswap V3, this got a lot more complicated. This was due to a new update that lets liquidity providers set custom price ranges to increase capital efficiency and concentrated liquidity. In brief - a lot of liquidity is locked up in Uniswap and not being used, V3 custom price ranges address this issue by creating concentrated liquidity in the price range that most trading activity happens in, letting liquidity providers earn more trading fees.
However, as part of this update as each liquidity provider now has a unique liquidity position, the LP tokens can no longer be fungible. Each LP token is now non-fungible (NFT). Where it used to be very easy to stake fungible tokens, staking NFTs is much harder. This said, we’re already seeing some innovative new protocols crop up to solve this composability issue.
Uniswap airdrop
To encourage the adoption of the Uniswap protocol, early users were promised an airdrop of a governance token for the protocol - the UNI token. More than 200,000 addresses claimed UNI tokens in 2020, but thousands of wallets are still yet to claim their UNI airdrop.
When was the Uniswap airdrop?
The UNI token airdrop was on September 1, 2020. Anyone who had used the Uniswap protocol prior to this date was eligible for the airdrop.
How do I get the Uniswap airdrop?
All you had to do to claim the Uniswap airdrop was connect your wallet to the Uniswap app after September 1, 2020. If your wallet was eligible - a pop-up stating "UNI has arrived" appeared. Then you could select "Claim your UNI tokens" and approve the transaction to get your airdrop.
How much was the Uniswap airdrop?
Each user who was eligible for the Uniswap airdrop received 400 UNI tokens. More than 250,000 wallets were eligible to receive this amount.