CoinLedger fully supports staking, but the way your transactions are imported will depend on your method of staking.
Our software supports native and liquid staking as well as staking rewards.
Native Staking refers to locking up your crypto with a validator. It is usually done within the blockchain or wallet where your assets are held (for example: staking SOL within your Phantom Wallet). These transactions will appear in CoinLedger as Native Stake (when your crypto is staked by withdrawing it from your wallet and locking it up with a validator) and Native Unstake (when your crypto is unstaked and returned to your wallet). Both actions are non-taxable, but any staking rewards earned while your crypto is staked are taxable and treated as crypto income.
In liquid staking, a user receives a token in return for staking their assets. For example, if I stake my ETH on Lido I will receive stETH in return. This token can then be exchanged to unstake my ETH and withdraw it from the staking protocol.
What staking transactions does CoinLedger support?
Your native staking transactions will appear in CoinLedger as Native Stake and Native Unstake. Learn more about those transaction types below.
Native Stake and Native Unstake Definitions
Native Stake and Native Unstake Definitions
A Native Stake transaction is any transaction where you staked your crypto by withdrawing it from your wallet and locking it up with a validator. Your staked asset cannot be transacted with until it is unstaked. Many applications or exchanges will pay out staking rewards to your wallet while your crypto is staked. This is a non taxable transaction. However, receiving staking rewards is taxable. Staking rewards are treated as crypto income.
A Native Unstake transaction is any transaction where you unstaked your crypto and received it back into your wallet. This is a non taxable transaction. However, receiving staking rewards is taxable. Staking rewards are treated as crypto income.
Example: In the image below, you can see that I staked a total of 0.0301 SOL. These were imported as Native Stake transactions into my CoinLedger account. Then, a few days later I unstaked my SOL. This was imported into CoinLedger as a Native Unstake transaction.
CoinLedger also supports Liquid Staking, but these transactions will show up in our software differently. When you stake your crypto with a service like Lido, Marinade or Binance, you will receive a staked token (sometimes called a placeholder token) in return. This transaction may be imported as a Trade or Add Liquidity transaction in CoinLedger. Then, when you unstake your crypto by swapping your placeholder token for the original asset you staked, this may be imported as a Trade or Remove Liquidity transaction.
The IRS has not released clear guidance on liquid staking. CoinLedger takes the conservative approach and treats transactions where you swap your crypto for a placeholder token as taxable. However, you can mark these transactions as non-taxable at your own discretion by following these steps.
How will my staking transactions show up on the Portfolio Tracker?
For every asset that you have natively staked, you'll be able to see your Staked Balance on the Asset Balance Report. This tells you how much of a particular asset you have staked. You will see your Staked Balance next to your Calculated Balance and Cost Basis Balance, as shown below.
Your Global Calculated Balance for an asset will include the amount of crypto you have staked, but the individual wallet-specific balance for the asset that was staked will not. Learn more about how this works in the drop-down section below.
How is my Staked Balance calculated?
How is my Staked Balance calculated?
Calculated Asset Balance is the total amount of a crypto asset we detect in your account across all your wallets (based on your imported transaction data). CoinLedger breaks down Calculated Asset Balance into two types: global and wallet-specific balances. Your Calculated Asset Balance (Global) is the amount of a crypto asset you hold across all wallets on your CoinLedger account, while your wallet-specific Asset Balance is the amount of an asset held in just that particular wallet.
Your global Calculated Balance for an asset (the amount of an asset you hold across all wallets) will include the amount of crypto you have staked. Native Stake and Unstake transactions will not affect this global balance. Additionally, your Cost Basis Balance will also include the amount of crypto you have staked.
However, Native Stake and Unstake transactions will affect your individual, wallet-specific balance for the wallet where these transactions occurred.
Here's an example of what this looks like:
Let's say I have 100 SOL in my Phantom wallet, and then I decide to stake 80 SOL. My Calculated Balance within my Phantom Wallet is 20 SOL, while my Staked Balance within my Phantom Wallet is 80 SOL. This is because this 80 SOL technically left my Phantom Wallet when it was staked.
However, my overall Global Calculated Balance shown on the Asset Balance Report is still 100 SOL, because the 80 SOL that I staked is technically in my possession and could be unstaked at any time.
Please note that only crypto which you have staked natively (by sending it to a validator to be staked without receiving another token in return) will show in your Staked Balance. Crypto which has been staked through liquid staking (when you receive a token in return for staking your assets) will not be reflected in your Staked Balance, since you are technically receiving a different asset back in exchange for staking. However, any staking rewards you receive while your crypto is staked will be imported into CoinLedger as Staking Income.
Example of Liquid Staking in the Portfolio Tracker
Example of Liquid Staking in the Portfolio Tracker
For example, if you stake your ETH via Lido and receive stETH in return, your staked ETH will not be reflected in your Staked Balance on the Asset Balance Report for ETH. This is because you received a different asset back (stETH) in exchange for staking your ETH.
To import your staking transactions, you'll first want to start by importing your blockchain wallet address.
Still have questions about staking? Feel free to reach out to our Support Team anytime!