Uniswap was one of the first decentralized exchanges to launch on the Ethereum network and quickly became a firm favorite, inspiring a range of other competitors. Now in V3 with a daily trading volume of $7 billion, Uniswap lets you buy, sell and trade ERC20 tokens - as well as offering capital-free arbitrage opportunities through flash swaps. But as with all things crypto - your tax office will want to know about it. We’ve got everything you need to know in our Uniswap guide including how Uniswap works, how to trade on Uniswap and Uniswap taxes.
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 goes 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:
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.
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 let 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.
The majority of tax offices around the world haven't yet got to grips with the DeFi revolution. This means they haven't issued clear tax guidance for popular DeFi platforms like Uniswap.
This said - there is plenty of guidance for crypto tax in general. We just need to interpret the current crypto tax rules and apply them to DeFi.
Do you pay taxes on Uniswap?
Yes. You’ll need to pay tax on your Uniswap trades and transactions.
Crypto is subject to Income Tax or Capital Gains Tax. The tax you’ll pay depends on the specific transaction you’re making - so let’s take a look at each.
Do you pay tax on trades on Uniswap?
Yes. In the vast majority of countries - trading one token for another is subject to Capital Gains Tax.
For example, if you traded UNI for ETH, you would pay tax on any gain you'd made on your UNI. That's the difference in value from when you got your UNI to when you traded it.
Do you pay tax on adding and removing liquidity on Uniswap?
As we said above, the IRS and many other tax offices haven't yet issued clear guidance on this.
This said, when you add liquidity and remove liquidity from a pool on Uniswap, you'll get a liquidity pool token in return.
This could be seen as a crypto to crypto trade and therefore could be subject to Capital Gains Tax.
Only one tax office so far has issued specific guidance on this - the UK's HMRC. They say they view these transactions as a taxable event and subject liquidity transfers to Capital Gains Tax.
Do you pay tax on liquidity pool tokens on Uniswap?
Again, bar from HMRC, tax offices haven't yet released guidance on liquidity pool tokens. So it all boils down to the way the specific dex you're using works.
On Uniswap, you don't earn new liquidity pool tokens. Instead, the value of your liquidity pool tokens increases based on the fees made in a pool you've added capital to. So you're not earning new tokens - like you might when mining or staking. With this in mind, it's unlikely your liquidity pool tokens would be subject to Income Tax.
It's only when you want to remove your capital from a liquidity pool by exchanging your liquidity pool tokens back that you'll have a realized gain. This transaction could be seen as a crypto to crypto trade and subject to Capital Gains Tax.
Do you pay tax on flash swaps on Uniswap?
Flash swaps work the same as any other trade, despite you not actually providing the capital originally. By the end of the transaction, you’ll be trading one token for another - so you’ll need to pay Capital Gains Tax on any profit as a result.
Do you pay tax on staking UNI tokens and Uniswap liquidity pool tokens?
Yes. But this really depends on where you live and how the specific DeFi protocol you're using works as to the type of tax you'll pay on staking.
If you're staking UNI tokens or Uniswap LP tokens and earning new tokens as a result, you may need to pay Income Tax based on the fair market value of the new tokens at the point you receive them.
If you're using a DeFi protocol where your returns are paid out in one lump sum at the point you remove your staked UNI tokens or LP tokens, then this would be more likely to be subject to Capital Gains Tax instead.
What do I need to report to my tax office?
It depends on where you live - each tax office has different reporting requirements for crypto
In the US, you need to report each taxable crypto transaction on Form 8949, including:
- A description of the asset.
- The date you acquired the asset.
- The date you disposed of the asset.
- The sale price at fair market value.
- The cost basis of the asset at fair market value.
- Your capital gain or loss.
You’ll also need to report your net capital gain and loss on Schedule D and any crypto income on Schedule 1 and potentially Schedule C.
It’s a lot of work. If you’re an active trader or an arbitrage trader on Uniswap and other DeFi platforms, the list of transactions you need to report can quickly ramp up into the thousands per financial year. You’ll need good records of all your Uniswap transactions with all the information - you can do this manually or with a crypto tax app. Let’s look at both.
How to find your Uniswap transaction history
To get started with your Uniswap taxes - you need your complete Uniswap transaction history. There’s two ways you can do this.
- Use crypto tax software and connect to the Ethereum blockchain via API. You can take your ETH public address or key from the wallet you use to interact with Uniswap and input it straight into a crypto tax app which will automatically import your Uniswap transaction history to your app, identify your taxable transactions and calculate your capital gains, losses and income.
- Export your Uniswap transaction history in a CSV file. You can’t download a CSV file from the Uniswap platform directly, but you may be able to export a CSV file of your transaction history from the wallet you use - for example, Coinbase Wallet. You may also be able to use a third party service like Etherscan to get a CSV file of your transaction history on Uniswap. You can then use this CSV file to identify your taxable transactions, capital gains, losses and income yourself.
Does Uniswap provide a tax report?
No. Uniswap doesn't provide any kind of tax report for users. But you can get a tax report by importing your Uniswap transaction history to a crypto tax app using API.
Does Uniswap supply a financial statement?
No. Uniswap doesn’t supply a financial statement.
How to generate a Uniswap tax form
There are two ways to generate a Uniswap tax form, depending on whether you're using crypto tax software or not. We'll look at both.
If you’re doing your taxes yourself, you need a complete transaction history from Uniswap for the financial year. You can get a CSV file of this using the methods above. You’ll then need to identify each taxable transaction, the subsequent income or capital gain/loss and report this to the IRS using Form 8949 for capital gains and losses, Schedule D for net capital gains and losses and Schedule 1 for crypto income (and potentially Schedule C too for income).
If you're using a crypto tax app to generate your Uniswap tax form, this is much simpler. All you need to do is sync your Uniswap transactions using the tax report API. Your crypto tax app will then identify your taxable transactions and calculate any capital gains, losses and income for you. You can then download a tax report specific to your location to hand over to your tax office - for example, you can download a pre-filled Form 8949 and Schedule D.
Uniswap CSV export
Uniswap doesn’t offer an option within the platform to download a CSV file of your transaction history. However, you can use a service like Etherscan to generate and download a CSV file of your Uniswap transaction history to do your taxes manually. You may also be able to download a CSV file from the Web3 wallet you're using to interact with Uniswap.
Uniswap tax API
The easier option is to use an API to get your Uniswap transaction history automatically imported into a crypto tax app.
All you need to do is sync the wallets you use to interact with Uniswap. So for example, if you use MetaMask to trade on Uniswap, you'd get your ETH mainnet public address from MetaMask. Once you've got your API keys, enter them into your chosen crypto tax app and it’ll calculate your Uniswap taxes for you and generate your tax report.
We’ve got instructions on our integration pages on how to connect the most popular Uniswap wallets with Koinly.
Does Uniswap report to the IRS?
Anonymity is a key tenet of the DeFi market. Trading is done directly from your chosen wallet, so there's no KYC verification necessary to use Uniswap.
Most Web3 wallets - excluding Coinbase Wallet - don't require KYC, but some require you to link a debit or credit card. If you've got funds going out of your bank account or money coming back in - the IRS is going to want to know why. Similarly, if you’re moving Uniswap tokens into centralized exchanges, many of these exchanges have faced pressure from the IRS to share KYC data.
Uniswap haven't announced if they've seen any pressure from the IRS to amend KYC processes - but with the impending new legislation around cryptocurrency imminent, there's a chance they have.
The best way to stay tax compliant is to report your crypto taxes accurately.
If you’ve been wondering is Koinly a Uniswap tax calculator tool, the answer is, yes! Not only can Koinly import Uniswap transaction history, but Koinly can also calculate your Uniswap taxes in a format that makes sense for your country’s tax office. As a Uniswap tax calculator, Koinly is able to do a bunch of impressive tasks that save you time and can even save you from paying too much taxes.
- Koinly will import all your Uniswap trades including purchases, sales, swaps, income and more!
- Koinly will then convert your Uniswap transactions into your country’s currency, at fair market value. This in itself is a massive time saver.
- Finally, Koinly works out which of your Uniswap trades are taxable, and which are not - calculating your Uniswap gains/losses, crypto income and more. All of this is really important for being able to submit an accurate Uniswap tax return to your tax office.