# StakeTax Documentation

Hi there! &#x20;

In a nutshell, [stake.tax](https://stake.tax) aims to make tax season easier for staking coin hodlers.&#x20;

How it works:

1. **Enter Wallet address** on [home](https://stake.tax) page.
2. **View and Download CSV**, after waiting 0-5 minutes for job to finish.
3. **Import CSV** into a crypto tax website like Cointracking or Koinly.

&#x20;

See left menu for:

* See **DEVS** to contribute to stake.tax open source.
* See **TOKENS** for specific transaction details for a blockchain.
* See **CSV FORMATS** for info on tax websites like koinly, cointracking, etc.

**Still have questions?**

* Try the [FAQ](https://docs.stake.tax/faq/faq) page.
* Email <support@stake.tax>&#x20;
* Tweet or DM [@staketax](https://twitter.com/staketax)
* Ask in the discord

## Disclaimer

Please use data at your own risk.  Double check your transactions! It is up to the user to verify accuracy. Transactions are reported with best effort but errors are possible.  All information on this site is provided “as is”, with no guarantee of completeness or accuracy.  In no event will we be liable for you or anyone else for any decision made or action taken in reliance on data from this site. &#x20;

This website is provided for informational purposes only. It does not constitute financial, tax or legal advice. For financial or legal advice, please consult your own professional. It cannot guarantee lack of error nor tax compliance. As such, we will not be liable for any loss or damage of any nature.

## About

Thanks for visiting!  In 2021, I wrote up some software in order to help with my own taxes for various staking cryptocurrency coins, due to the lack of existing solutions out there.  I realized others may have a similar situation and decided to offer it as a website.  Thus, [stake.tax](https://stake.tax) was born.  Since then, it has evolved due to user interest and open source contributions.

Today, StakeTax is a leading crypto tax solution for several emerging blockchains. StakeTax users span institutional platforms, blockchain teams, validators, and retail.

As open source, StakeTax accelerates tax solutions for a blockchain's users (integrated with all major crypto tax sites and software adopted at large). This acceleration is not just about speed; it's about instilling confidence and engagement in an ecosystem, especially early in its lifecycle.

Contact us if you'd like to see a new blockchain/ecosystem supported (<support@stake.tax>).


# github for stake.tax

stake.tax

The CSV codebase for stake.tax is open source! &#x20;

{% embed url="<https://github.com/hodgerpodger/staketaxcsv>" %}

* Is stake.tax missing support for certain transactions?  Write a PR!

* A preview:

```
# Create default CSV
python3 report_sol.py <wallet_address>

# Create all CSV formats (i.e. koinly, cointracking, etc.)
python3 report_sol.py <wallet_address> --format all

# Show CSV result for single transaction (great for development/debugging)
python3 report_sol.py <wallet_address> --txid <txid>
```

* Example to add new cosmos-based CSV (i.e. Agoric, BLD): <https://github.com/hodgerpodger/staketaxcsv/commit/ff8af30b85ea4416504d043723e91f3edf5c7ee1>

* Example to add new CSV format (i.e. coinledger): <https://github.com/hodgerpodger/staketaxcsv/commit/105b9e50dc08349dc750fd2e3f99298c369b543e>


# Add New CSV format example

<pre data-overflow="wrap"><code>
Ah ok, so first you'll want to get any CSV working with the staketaxcsv code 
(Install and Usage as CLI section):
https://github.com/hodgerpodger/staketaxcsv


I found a random address on mintscan just now to use as an example below:

# create staketax csv
python staketaxcsv/report_atom.py cosmos1xa0a5xxklr4cx27ay46ttputr7d7nh55hgsjrw

# create cointracker csv
python staketaxcsv/report_atom.py cosmos1xa0a5xxklr4cx27ay46ttputr7d7nh55hgsjrw --format cointracker

# create cointracker csv for just one transaction (for testing)
python staketaxcsv/report_atom.py cosmos1xa0a5xxklr4cx27ay46ttputr7d7nh55hgsjrw --format cointracker --txid FA6E219AC3C197F4881D30A7E216BE3ADC2D879B2EBAEE8D7BA99AB873310697



Then I’d use this example to make edits to src/staketaxcsv/common/Exporter*.py:
<strong>https://github.com/hodgerpodger/staketaxcsv/commit/193e4cec07d9a5ec5b7fc45435cef0121560d56c
</strong>
In the end, you'll want to get a command like this working:

python staketaxcsv/report_atom.py cosmos1xa0a5xxklr4cx27ay46ttputr7d7nh55hgsjrw --format bitwave

</code></pre>


# Adding CSV in cosmos-based ecosystem

* Simplest way:
  * copy kyve/\* and report\_kyve.py  &#x20;
    * into \<NEWTOKEN>/\* and report\_\<NEWTOKEN>.py
  * Get following command working:

    <pre><code><strong>cd src
    </strong><strong>python3 staketaxcsv/report_&#x3C;NEWTOKEN>.py &#x3C;wallet_address>
    </strong></code></pre>

* Example commit that added BLD CSV: <https://github.com/hodgerpodger/staketaxcsv/commit/ff8af30b85ea4416504d043723e91f3edf5c7ee1>


# Configuring use of Mintscan API

Mintscan API is used for the following reports on the StakeTax website:

* AKT
* ARCH
* ATOM
* DYDX
* EVMOS
* INJ
* JUNO
* NTRN
* OSMO
* STRD
* TIA

For the CSVs listed above, source data for transactions can be pulled from LCD node or Mintscan API in the codebase.  LCD node as source data is default because it works out of the box.  But Mintscan API as source data is preferable because it has a more complete history in almost all cases.

## To change to Mintscan API as source data, do the following:

1. Follow <https://docs.cosmostation.io/apis#how-to-get-api-key> to get a Mintscan API key.  Specifically,

* create a mintscan account
* create a mintscan key
* Email <api@cosmostation.io> to get your key "approved", so that it is no longer in "pending" state in the mintscan api dashboard (<https://api.mintscan.io/dashboard>)

2. Add STAKETAX\_MINTSCAN\_KEY to your python environment:

```
# i.e.
export STAKETAX_MINTSCAN_KEY=<someverylongstringkey>
```

3. Run the report per usual:.&#x20;

```
# i.e.
python3 staketaxcsv/report_akt.py <wallet_address>
```

&#x20;


# COSMOS+ (v1)

Experimental transactions CSV for unlisted, cosmo-based tokens

(docs for <https://stake.tax> )

## **Notes**

* The COSMOS+ (v1) tab is for experimental CSVs for unlisted tokens in cosmos ecosystem.

  * Untested CSVs.  As-is tool for users. &#x20;
  * Requires blockchain node LCD endpoint.  See [LCD Endpoints](#lcd-urls) section.
  * V1 uses LCD endpoint for transaction data.
  * Generally less likelihood of complete history than v2.

* Example:

  * address: akash2lkpdc...
  * token symbol: AKT
  * node url (LCD endpoint): <https://rest-akash.ecostake.com>

## **LCD URLS**

* Examples
  * <https://stake.tax/cosmosplus>: list that StakeTax users have tried. &#x20;
    * Best bet is to usually try the node with largest OLDEST\_DATA\_IN\_DAYS\_AGO. &#x20;
  * <https://cosmos.directory/cryptoorgchain/nodes> (Nodes -> REST) : explorer for nodes
  * <https://github.com/cosmos/chain-registry> : chain registry list
    * LCD node URLs will be found in chain.json, under "rest".
    * Probably easier to use <https://cosmos.directory/cryptoorgchain/nodes>, since it draws from same data (as far as I know).&#x20;

* Endling slash (or omission) may matter:&#x20;

  * i.e. <https://myurl.com> is different than <https://myurl.com/>

* It is common for nodes to truncate history (i.e. only having the last 3 months of transactions).  The gems:gem: are when they do not truncate history.

* [What is an LCD URL?](/faq/faq#what-is-an-lcd-url)

## **Limits**

* &#x20;5000 most recent transactions

## Change Log

COSMOS+ (v1) changes

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cosmosplus&s=committer-date&type=commits>

IBC Changes

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# COSMOS+ (v2)

Experimental transactions CSV for unlisted, cosmo-based tokens

(docs for <https://stake.tax> )

## **Notes**

* The COSMOS+ (v2) tab is for experimental CSVs for unlisted tokens in cosmos ecosystem.

  * Untested CSVs.  As-is tool for users.
  * Requires mintscan label.  See [Mintscan Label](#mintscan-label) section.
  * V2 uses mintscan api for transaction data
  * Generally complete history
  * Limited to: [list of chains supported](https://docs.cosmostation.io/apis#supported-chain-list)&#x20;

* Example:

  * address: akash2lkpdc...
  * ticker: AKT
  * mintscan label: akash

## **Mintscan Label**

* i.e. Use 'akash' if mintscan url is <https://www.mintscan.io/akash>
* i.e. Use 'gravity-bridge' if mintscan url is <https://www.mintscan.io/gravity-bridge/>
* Limited to: [list of chains supported](https://docs.cosmostation.io/apis#supported-chain-list)&#x20;

##

## **Limits**

* &#x20;5000 most recent transactions

## Change Log

COSMOS+ (v2) changes

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+cosmosplus2&type=commits>

IBC Changes

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# AKT

Transactions CSV for the Akash blockchain

(docs for <https://stake.tax> )

## CSV transactions with full details:

CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## **Limits**

* &#x20;5000 most recent transactions

## **Notes**

## Change Log

AKT changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+akt&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# ALGO

Transactions CSV for the Algorand blockchain

(docs for <https://stake.tax> )

## CSV transactions with details

### General

* Algo payments
* ASA transfers
* Participation rewards
* Governance rewards
* Algomint transfers

### AlgoDex

* Buy and sell limit orders
* Buy and sell market orders

### AlgoFi

* Swaps and nanoswaps
* Supply, borrow and repay
* Add and remove from liquidity pools
* Staking and lending rewards
* Flash loans
* Liquidations

### AlgoStake

* Staking rewards

### HumbleSwap

* Swaps
* Add and remove from liquidity pools

### Pact

* Swaps
* Add and remove from liquidity pools

### Tinyman

* Swaps
* Add and remove from liquidity pools
* Staking rewards

### WagmiSwap

* Swaps
* Add and remove from liquidity pools

### Yieldly

* No-Loss-Lottery deposit, withdraw and rewards
* Staking deposit, withdraw and rewards

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* All other transactions not listed above

## **Limits**

* &#x20;20000 most recent transactions

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=algo&s=committer-date&type=commits>

1/29/21

* Launched ALGO CSVs on stake.tax


# ARCH

Transactions CSV for the Archway blockchain

(docs for <https://stake.tax> )

## CSV transactions with full details:

CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## **Limits**

* &#x20;5000 most recent transactions

## **Notes**

## Change Log

ARCH changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+arch&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# ATOM

Transactions CSV for the Cosmos blockchain

(docs for <https://stake.tax> )

Note: Older cosmoshub-2 and cosmoshub-1 transactions are not supported for ATOM (predates 1/2021)

## CSV transactions with full details:

CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## **Limits**

* &#x20;5000 most recent transactions

## **Notes**

One transaction on the blockchain may have multiple unique CSV entries&#x20;

* Example case: one transaction performing multiple delegations, each with unique reward amount

## Change Log

ATOM changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=atom&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# BLD

Transactions CSV for the Agoric blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

BLD changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=bld&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# BTSG

Transactions CSV for the Bitsong blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

BTSG changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=btsg&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# DVPN

Transactions CSV for the Sentinel blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

User Service messages

* msg start
* msg end
* msg subscribe

Node Service messages

* limited&#x20;

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

DVPN changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=dvpn&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# DYDX

Transactions CSV for the dYdX blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

User Service messages

* msg start
* msg end
* msg subscribe

Node Service messages

* limited&#x20;

## **Limits** <a href="#limits" id="limits"></a>

* 5000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

DYDX changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+dydx&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# DYM

Transactions CSV for the Dymension blockchain

(docs for [https://stake.tax](https://stake.tax/) )​

#### CSV transactions with full details <a href="#csv-transactions-with-full-details" id="csv-transactions-with-full-details"></a>

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

### **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

### Change Log <a href="#change-log" id="change-log"></a>

DYM changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+dym&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# EVMOS

Transactions CSV for the Evmos blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 5000 most recent transactions

## Change Log <a href="#change-log" id="change-log"></a>

EVMOS changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=evmos&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# FET

Transactions CSV for the Fetch.ai blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

## Change Log <a href="#change-log" id="change-log"></a>

FET changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=fet&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# HUAHUA

Transactions CSV for the Chihuahua blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

HUAHUA changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=huahua&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# INJ

Transactions CSV for the Injective blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 5000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

INJ changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+inj&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# IOTX

Transactions CSV for the IoTex blockchain

(docs for <https://stake.tax> )

## **Limits**

* 20000 most recent transactions

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=iotex&s=committer-date&type=commits>

3/8/2022

* Launched IOTX CSVs on stake.tax


# JUNO

Transactions CSV for the Juno blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 5000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

JUNO changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=juno&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# KUJI

Transactions CSV for the Kujira blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 5000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

KUJI changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=kuji&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# KYVE

Transactions CSV for the KYVE blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

KYVE changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=kyve&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# LUNA1 (LUNC)

Transactions CSV for the Terra Classic blockchain

(docs for <https://stake.tax> )

## **CSV transactions with full details**

General

* airdrop
* swap
* staking reward occurrence for LUNA stakers
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* vote

Anchor Protocol

* Anchor Earn deposit/withdraw
* Anchor Borrow deposit/withdraw/borrow/repay
* Anchor Bond bond-luna/unbond-luna/claim-reward
* ANC stake/unstake

Mirror Protocol

* Mirror LP deposit/withdraw/stake/unstake/claim-reward
* Mirror long-farm/short-farm/borrow/repay
* MIR stake/unstake

RandomEarth NFTs

* add whitelist
* mint
* buy
* offer to sell
* withdraw proceeds
* "sell" is NOT included:  user must manually import (deduce from \_*NFT\_WITHDRAW\_PROCEEDS and \_NFT\_OFFER\_SELL transactions)*

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* bond/unbond non-LUNA tokens&#x20;
* all other transactions not listed

## Limits

* &#x20;40000 most recent transactions&#x20;

## Notes

**Incoming transfers of non-native tokens like MIR are not included in the CSV.**

* I have been unable to find a solution to this specific problem.

**MINE governance staking income is NOT included in CSV.**

* \_*GOV\_STAKE and \_GOV\_UNSTAKE transactions for MINE are in default CSV.*&#x20;
* *However, staking income is not included.  User must manually deduce staking income by going through these MINE stake/unstake transactions.*

## Change Log

LUNA1 changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=terra&s=committer-date&type=commits>

12/13/21

* Fixed terra swap bugs for multi-message cases

10/25/21

* Added handling of NFT whitelist and NFT mint

10/22/21

* Fixed multi-airdrops-within-one-contract bug (would only detect 1st airdrop)

10/4/21

* Changed borrow/repay to be exported transactions into non-default CSVs (i.e. included into koinly CSV, cointracking CSV, etc).

10/2/21

* Fix for col5 encoding differences (execute\_msg; airdrops MIR/ANC/MINE)
* Fix for col5 encoding differences (currency address lookup; stake ANC)
* Fix for col5 new LP stake case (MINE-UST LP)

10/1/21

* Migrated to new data source (lcd to fcd) due to deprecation of lcd data source.
* New unresolvable issues:
  * older anchor earn deposits/withdrawals are treated as \_UNKNOWN due to inability to retrieve aUST amounts.  Users advised to look at <https://finder.terra.money/> for these transactions.

9/10/21

* Migrated underlying API to different private node provider
* Changed tx limit from 10000 to 5000, on a trial basis (will try to increase later)

8/30/21

* Added comment to \_*GOV\_UNSTAKE* transactions: must calculate governance staking rewards manually (deposit/withdrawal amounts shown to guide).

8/29/21

* Fixed no fees for receive transfers

8/25/21

* Changed treatment of anchor earn deposits/withdrawals
  * old method: anchor earn interest transaction
  * new method: treat as trade between UST/aUST

8/21/21

* Increased tx limit from 5000 to 10000

8/18/21

* Bug fix: fixed bug introduced by 8/17 migration: handling of failed transactions (fixed to ignore instead of labeling as \_UNKNOWN)

8/17/21

* Migrated dependency from deprecated Terra API to new Terra API
* Bug fix: Fixed \_WITHDRAW\_COLLATERAL transaction that was mislabeled as staking income for aUST.&#x20;


# LUNA2 (LUNA)

Transactions CSV for the Terra 2.0 blockchain

(docs for <https://stake.tax> )

## Notes

**No transaction ID for genesis airdrop.  What gives?**

* Luna airdrops at genesis have no transactions associated with them.  Addresses with airdrops simply start with non-zero balances.

## Limits

* &#x20;20000 most recent transactions&#x20;

## Change Log

LUNA2 changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=luna2&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# NLS

Transactions CSV for the Nolus Protocol blockchain

(docs for [https://stake.tax](https://stake.tax/) )​

## **CSV transactions with full details**

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

NLS changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+nls&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# NTRN

Transactions CSV for the Neutron blockchain

(docs for <https://stake.tax> )

## CSV transactions with full details:

CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## **Limits**

* &#x20;5000 most recent transactions

## **Notes**

## Change Log

NTRN changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+ntrn&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# OSMO

Transactions CSV for the Osmosis blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward
* LP deposit/withdrawal
* LP stake/unstake
* LP rewards (daily rewards in each currency)

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)&#x20;

* all other transactions not listed

## Limits

* &#x20;30000 most recent transactions&#x20;

## Notes

## Change Log

OSMO changes

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=osmo&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# REGEN

Transactions CSV for the Regen Network blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

REGEN changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=regen&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# SAGA

Transactions CSV for the Saga blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 5000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

SAGA changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+saga&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# SEI

Transactions CSV for the SEI blockchain

(docs for [https://stake.tax](https://stake.tax/) )

### CSV transactions with full details: <a href="#csv-transactions-with-full-details" id="csv-transactions-with-full-details"></a>

CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward

### CSV transactions with missing details (TX\_TYPE=\_UNKNOWN) <a href="#csv-transactions-with-missing-details-tx_type-_unknown" id="csv-transactions-with-missing-details-tx_type-_unknown"></a>

* all other transactions not listed

### **Limits** <a href="#limits" id="limits"></a>

* 5000 most recent transactions

### &#x20; <a href="#notes" id="notes"></a>


# SOL

Transactions CSV for the Solana blockchain

(docs for <https://stake.tax> )

##

## ATTENTION: careful with start\_date filter for SOL CSVs

* If using start\_date filter, staking rewards maybe missing from CSV in certain cases.
  * Easiest solution is to omit start\_date filter (a.k.a. no date range or very early start date) altogether to avoid this issue.
  * Details on issue: If a staking account has been closed AND a start\_date filter removes the transaction where the staking account was created, the CSV will fail to show staking rewards for this closed staking account.

## CSV transactions with details

* staking reward occurrence&#x20;
  * once per epoch (2-4 days) per staking address
* swap
* transfer
* raydium swap
* raydium pool deposit/withdrawal/rewards
* serum dex v3 transactions
* marinade finance staking
* nft mints (some)
* nft marketplace transactions (MagicEden, Solanart, DigitalEyes)

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## Limits

* 10000 most recent transactions

## Notes

#### Enter SOL main wallet address, NOT the SOL staking address(es).

* Staking addresses are derived in the background.

#### SOL staking reward occurrences do not have URLs/transaction IDs.

* SOL staking rewards occur every epoch (2-4 days).  There is no unique transaction ID given by the Solana blockchain for these occurrences, so a unique combination of `"<stakingaddress>.<epoch>"` is used instead as substitute.

**Old transactions pre-dating around 2020-12-18 are missing timestamps.**

* They are labeled with TXTYPE= \_MISSING\_TIMESTAMP

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=sol&s=committer-date&type=commits>


# STARS

Transactions CSV for the Stargaze blockchain

(docs for <https://stake.tax> )

### CSV transactions with full details

Staking

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer / IBC transfers
* delegate/redelegate with no reward

## **Limits** <a href="#limits" id="limits"></a>

* 20000 most recent transactions

​

## Change Log <a href="#change-log" id="change-log"></a>

STARS changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=stars&s=committer-date&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# STRD

Transactions CSV for the Stride blockchain

(docs for <https://stake.tax> )

## CSV transactions with full details:

CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## **Limits**

* &#x20;5000 most recent transactions

## **Notes**

## Change Log

STRD changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+strd&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# TIA

Transactions CSV for the Celestia blockchain

(docs for <https://stake.tax> )

## CSV transactions with full details:

CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward
* genesis airdrop&#x20;

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## **Limits**

* &#x20;5000 most recent transactions

## **Notes**

## Change Log

TIA changes:

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+tia&type=commits>

IBC changes:

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=ibc&s=committer-date&type=commits>


# BAND (no longer supported)

Transactions CSV for the Band Protocol blockchain

(docs for <https://stake.tax> )

Support for BAND has been removed on 9/25/2021.  The underlying provider make breaking changes, and there appears to be no easy solution.   Due to a lack of usage on stake.tax, I decided to remove support altogether.

## CSV transactions with full details:

* staking reward occurrence
  * withdraw reward
  * delegate with reward
  * redelegate with reward
* transfer
* delegate with no reward
* redelegate with no reward

## CSV transactions with missing details (TX\_TYPE=\_UNKNOWN)

* all other transactions not listed

## Limits

* &#x20;1000 most recent transactions

## **Notes**

#### Staking rewards are not reflected until you withdraw, delegate, or redelegate.

* True rewards accrue continuously for BAND stakers.  Since this is not straight forward, rewards are instead recorded at each withdraw-reward, delegate, or redelegate transaction. &#x20;

## Change Log

9/25/21

* Support for BAND removed from stake.tax due to breaking changes in underlying provider (and no easy solution).

8/29/21

* Fixed no fees for receive transfers


# Default (StakeTax CSV)

Documentation on default CSV format

## Base TX\_TYPE

The following TX\_TYPE's are exported into non-default CSVs (i.e. accointing, cointracking, etc):

* **STAKING** : staking reward
* **AIRDROP** : airdrop
* **TRADE** : trade
* **TRANSFER** : incoming or outgoing transfer
* **SPEND**: outgoing transfer of crypto to spend on goods/etc
* **BORROW**: borrow crypto for loan
* **REPAY**: repay crypto for loan
* **LP\_DEPOSIT**: liquidity pool deposit
  * example:&#x20;
    * I did the following: deposit UST, deposit ANC, receive LP\_*ANC\_UST.* &#x20;
    * result: 2 LP\_DEPOSIT transactions (UST -> LP\_ANC\_UST, ANC -> LP\_ANC\_UST).
* **LP\_WITHDRAW**: liquidity pool withdrawal
  * example:&#x20;
    * I did the following: withdraw UST, withdraw ANC, deposit LP\_*ANC\_UST.* &#x20;
    * result: 2 LP\_WITHDRAW transactions (LP\_ANC\_UST -> UST, LP\_ANC\_UST => ANC).
* **REALIZED\_PNL***:* realized profit and loss from futures trade
  * &#x20;example: gain or loss in USD from futures trade like jupiter perps

## Non-base TX\_TYPE (\_\*)

All other transactions (start with underscore) are NOT exported into non-default CSVs. These must be manually imported/ignored by the user.  Below are incomplete/fluid lists of these transactions for illustrative purposes. &#x20;

#### ATOM/TERRA/SOLANA

* \_STAKING\_DELEGATE : delegate stake
* \_STAKING\_UNDELEGATE : undelegate stake
* \_STAKING\_REDELGATE : redelegate stake
* \_STAKING\_WITHDRAW\_REWARD : withdraw reward transaction that does not include staking income (included only for better readability in certain cases)

#### TERRA

* \_GOV\_STAKE : delegate stake for governance (ANC/MIR usually)
* \_GOV\_UNSTAKE : undelegate stake for governance (ANC/MIR usually)
* \_DEPOSIT\_COLLATERAL : deposit collateral for loan or LP
* \_WITHDRAW\_COLLATERAL : withdrawal collateral for loan or LP

Mirror Protocol

* \_LP\_DEPOSIT : deposit into liquidity pool
* \_LP\_WITHDRAW: withdraw from liquidity pool
* \_LP\_STAKE : stake liquidity pool token
* \_LP\_UNSTAKE : unstake liquidity pool token

Anchor Protocol

* \_EARN\_DEPOSIT: anchor earn deposit UST
* \_EARN\_WITHDRAW: anchor earn withdraw UST
* \_BOND: bond&#x20;
* \_UNBOND: initiate unbond&#x20;
* \_UNBOND\_WITHDRAW: withdrawal of asset associated with unbond (i.e. 21 days after unbond initiated)
* \_UNBOND\_INSTANT: unbond with instant withdrawal of asset

RandomEarth NFTs

* *\_NFT\_*&#x57;HITELIST : whitelist action by contract
* *\_NFT\_MINT : mint nft action without purchase (airdrop usually)*
* *\_NFT\_OFFER\_SELL*:  post sell offer
* *\_NFT\_WITHDRAW* : withdraw RandomEarth NFT or sales proceeds from RandomEarth account&#x20;

#### SOLANA

* \_STAKING\_SPLIT: split staking account
* \_STAKING\_WITHDRAW : withdraw from staking account
* \_STAKING\_DEACTIVATE : deactivate staking account
* \_STAKING\_CREATE : create staking account
* \_INIT\_ACCOUNT : create system or associated account
* \_SETTLE\_FUNDS: serum settle funds transactions
* \_LP\_DEPOSIT : deposit into liquidity pool
* \_LP\_WITHDRAW: withdraw from liquidity pool
* \_STAKE : stake liquidity pool token or raydium token
* \_UNSTAKE : unstake liquidity pool token or raydium token
* \_REWARD\_ZERO : transaction with staking reward 0
* \_SERUM\_DEX : serum interaction transaction


# Accointing

Documentation on importing .xlsx into accointing.com

## Download .xlsx

* Select `accointing` in the download CSV prompt.

## Import .xlsx

* Go to Wallets tab: [https://www.accointing.com/app/wallet](https://www.accointing.com/app/wallets)
* Select Wallets -> Add new (or choose existing wallet if you've done this before).
  * Name wallet something like "Terra"
* Select Accointing Template -> Continue
* Upload .xlsx file
  * use timezone=UTC

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the Accointing .xlsx (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into Accointing manually (or ignored where appropriate).

####

#### Can I import .xlsx multiple times?

Multiple imports causes duplicates on Accointing.  To remedy, there are two options:

* Option 1
  * Edit CSV (i.e. google sheets), such that only new transactions exist. &#x20;
  * Upload edited CSV
* Option 2
  * Delete all transactions for the previous import(s)
    * Go to <https://www.accointing.com/app/wallets>
    * "Trash" wallet representing previous import.
  * Upload full CSV again&#x20;

I strong prefer option 1 because you are free to edit old transactions.  In option 2, edits on old transactions would be lost on re-import.

Email <support@stake.tax> if this guidance is outdated.

## Reference

* <https://support.accointing.com/hc/en-us/articles/4418264172173-Importing-Your-Data-A-Step-By-Step-Guide>
* <https://community.accointing.com/t/auto-detect-duplicate-transactions-in-the-review/5340>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=accointing&s=committer-date&type=commits>


# Awaken Tax

Documentation on importing CSV into awaken.tax

## Download CSV

* Select `awakentax` in the download CSV prompt.

## Import CSV

* Sign in to [awaken.tax](https://awaken.tax/)
* Go to Accounts -> Add account -> Select/Search chain -> Select icon for uploading CSV -> Drop your file

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the Awaken Tax CSV (i.e. \_UNKNOWN).  This means these transactions must be imported into Awaken Tax manually (or ignored where appropriate).

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=awakentax&s=committer-date&type=commits>


# bitcoin.tax

Documentation on importing CSV into bitcoin.tax

## Download CSV

* Select `bitcointax` in the download CSV prompt.

## Import CSV

* Go to <https://bitcoin.tax/home#trading> (Trading tab)
* Under Trading Tab,
  * Select Import Trades -> "Bitcoin.Tax CSV" (very lower right)
  * Enter any Account Name (i.e. "terra")
* Upload CSV according to instructions.

That's it!

You'll notice that Trading/Income/Spending transactions are split into 3 tabs.  The CSV includes transactions across all 3 categories.

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the bitcoin.tax CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into bitcoin.tax manually (or ignored where appropriate).

## Reference

CSV based on guide at <https://bitcoin.tax/home#trading> under "Import Trades -> Bitcoin.Tax CSV"&#x20;

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=bitcointax&s=committer-date&type=commits>


# BittyTax

Documentation on CSV for https\://github.com/BittyTax/BittyTax

## Download CSV

* Select `bittytax` in the download CSV prompt.

## Import CSV

BittyTax is a programmatic tool for advanced users.  Please refer to the github repo for information: <https://github.com/BittyTax/BittyTax>

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the BittyTax CSV (i.e. \_UNKNOWN).  This means these transactions must be imported into BittyTax manually (or ignored where appropriate).

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=bittytax&s=committer-date&type=commits>


# Blockpit

Documentation on importing .xlsx into blockpit.io

## Download .xlsx

* Select `blockpit` in the download CSV prompt.

## Import .xlsx

* Go to <https://app.blockpit.io/dashboard>
* Select "+ Add" -> Import Excel
  * Follow screen instructions/flow to upload the .xlsx file.

That's it!

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the Blockpit CSV (i.e. \_UNKNOWN).  This means these transactions must be imported into Blockpit manually (or ignored where appropriate).

####

## Reference

* Blockpit excel template: <https://help.blockpit.io/hc/en-us/articles/360011877920>

## Change Log

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+blockpit&type=commits&s=committer-date&o=desc>


# Coinpanda

Documentation on importing CSV into coinpanda.io

## Download CSV

* Select `coinpanda` in the download CSV prompt.

## Import CSV

* Go to <https://app.coinpanda.io/wallets>
* Select Add new wallet -> Add Custom Wallet
  * Enter any name
  * Follow UI to upload CSV

That's it!

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the Coinpanda CSV (i.e. \_UNKNOWN).  This means these transactions must be imported into Coinpanda manually (or ignored where appropriate).

####

## Reference

* old version CSV format: <https://help.coinpanda.io/en/articles/3839226-how-to-import-csv-xlsx-files>
* newer version CSV format found on 7/5/23: <https://help.coinpanda.io/en/articles/3839231-import-of-generic-excel-file#h_c27dbc181b>
*

## Change Log

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+blockpit&type=commits&s=committer-date&o=desc>


# Cointelli

Documentation on importing CSV into cointelli.com

## Download CSV

* Select `cointelli` in the download CSV prompt.

## Import CSV

* Go to <https://cointelli.com/tax/import>
* Select +Import
  * Search any name (i.e. terra123)
  * Click name (i.e. terra123)&#x20;
    * Select UTC Timezone
    * Import CSV according to UI

That's it!

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the Cointelli CSV (i.e. \_UNKNOWN).  This means these transactions must be imported into Cointelli manually (or ignored where appropriate).

## Reference

CSV format conforms to guide at <https://knowledge.cointelli.com/knowledge/manual-import-instruction> .

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cointelli&s=committer-date&type=commits>


# Cointracker

Documentation on importing CSV into cointracker.io

## Download CSV

* Select `cointracker` in the download CSV prompt.

## Import CSV

* Go to <https://www.cointracker.io/add_wallet>
* Enter "csv" into search  and click the "Import from CSV" button that shows up.
* Finish import according to instructions.

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the Cointracker CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into Cointracker manually (or ignored where appropriate).

####

#### Can I import CSV multiple times?

Multiple imports causes duplicates on cointracker.  To remedy, there are two options:

* Option 1
  * Edit CSV (i.e. google sheets), such that only new transactions exist. &#x20;
  * Upload edited CSV
* Option 2
  * Delete all transactions for the previous import(s)
    * (see Wallets tab [here](https://help.cointracker.io/en/articles/3104969-how-to-remove-an-exchange-wallet#:~:text=To%20remove%20the%20wallet%2Fexchange,the%20wallet%2C%20select%20Delete%20Wallet.)).
  * Upload full CSV again&#x20;

I strong prefer option 1 because you are free to edit old transactions.  In option 2, edits on old transactions would be lost on re-import.

####

## Reference

* CSV format conforms to guide at <https://help.cointracker.io/en/articles/5172429-converting-transaction-history-csvs-to-the-cointracker-csv-format>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cointracker&s=committer-date&type=commits>


# Cointracking

Documentation on importing CSV into cointracking.info

## Download CSV

* Select `cointracking` in the download CSV prompt.

## Import CSV

* Change your user time zone to UTC:

  * Account -> Account Settings -> Account & Notifications -> Your time zone -> set to UTC
  * This is necessary because manual import CSVs into cointracking.info assume user time zone.

* Go to <https://cointracking.info>

* Go to Enter Coins -> Scroll to very bottom -> CSV import .

* Upload the CSV file.

* Finish import according to instructions.

\*Note: I have considered detecting user's timezone to generate CSV but found it prone to errors.

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the Cointracking CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into Cointracking manually (or ignored where appropriate).

#### **Cointracking detects the wrong currency with same symbol?  What can I do?**

1. Find the cointracking code for the currency here <https://cointracking.info/coin_charts.php> (Search for a Coin, Currency, or Commodity)

   a. example: For MIR, "MIR2" is the correct code.
2. Add comment to <https://github.com/hodgerpodger/staketaxcsv/issues/90> with currency and cointracking code (i.e. MIR should be "MIR2").   Can also email <support@stake.tax>.
3. We'll have it fixed in a jiffy (or if you're a developer, send a PR!)

#### Can I import CSV multiple times?

Yes, for Cointracking.  You may import the full CSV multiple times and Cointracking will detect duplicates and omit them.  It is also a good idea to check for duplicates and delete them at <https://cointracking.info/duplicate_transactions.php> .

## Reference

* CSV format conforms to guide at <https://cointracking.info/import/import_csv/>
* liquidity pool txs: <https://cointracking.freshdesk.com/en/support/solutions/articles/29000042820-import-of-liquidity-pool-mining-transactions>
* REALIZED\_PNL: <https://cointracking.freshdesk.com/en/support/solutions/articles/29000033677-binance-futures-csv-upload>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cointracking&s=committer-date&type=commits>


# CoinLedger (CryptoTrader.Tax)

Documentation on importing CSV into coinledger.io orcryptotrader.tax .

## Download CSV

* Select `coinledger` in the download CSV prompt.

## Import CSV

* Go to <https://app.cryptotrader.tax/individual/import>
* "+ Add Account" if no account exists
* Upload CSV file according to UI.
* That's it!

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the CoinLedger CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into CoinLedger manually (or ignored where appropriate).

#### Can I import CSV multiple times?

Multiple imports causes duplicates on CoinLedger.  To remedy, there are two options:

* Option 1
  * Edit CSV (i.e. google sheets), such that only new transactions exist. &#x20;
  * Upload edited CSV
* Option 2
  * Delete all transactions for the previous import(s)
    * Select Other Account -> ... -> Delete
  * Upload full CSV again&#x20;

I strongly prefer option 1 because you are free to edit old transactions.  In option 2, edits on old transactions would be lost on re-import.

Email <support@stake.tax> if this guidance is outdated.

## Reference

* CSV format conforms to guide at <https://help.cryptotrader.tax/en/articles/6028758-universal-manual-import-template-guide> .

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=coinledger&s=committer-date&type=commits>

3/9/22

* Added coinledger/cryptotradertax CSV to stake.tax


# Cryptio

Documentation on importing CSV into cryptio.co

## Download CSV

* Select `cryptio` in the download CSV prompt.

## Import CSV

* Go to <https://app.cryptio.co/imports>
* Select +Import button
* In Search bar, enter any text (i.e. "Terra") -> choose Custom
* Under Import Custom window, follow prompts to upload CSV.

That's it!

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the Cryptio CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into Cryptio manually (or ignored where appropriate).

**Inspecting Errors for Upload**

Under <https://app.cryptio.co/imports> , Status=Error means the upload failed.  To view errors:

* Click row with Status=Error
* Scroll and find "Download error report"
* Open this CSV and inspect Error column.

**"Unknown incoming/outgoing asset" Error**

When viewing error csv, this is a common error due to lack of support to identify lesser-known cryptocurrencies or NFTs.  To remedy:

* Search <https://app.cryptio.co/assets> using Filter button. &#x20;
* If asset found, find the "Unique Symbol" and send report to <support@stake.tax> or <https://github.com/hodgerpodger/staketaxcsv/issues>. &#x20;
  * Code changes can be made to fix the CSV so that this error can be resolved.
* If no asset found, may need to contact cryptio to resolve.

## Reference

* <https://intercom.help/cryptio-support/en/articles/5792796-can-i-import-transactions-using-a-csv>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cryptio&s=committer-date&type=commits>


# CryptoTaxCalculator

Documentation on importing CSV into cryptotaxcalculator.io

## Download CSV

* Select `cryptotaxcalculator` in the download CSV prompt.

## Import CSV

* Go to <https://app.cryptotaxcalculator.io/imports>
* Click "Add via manual CSV import" link
* Follow popup prompt to import CSV file.

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the CryptoTaxCalculator CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into CryptoTaxCalculator manually (or ignored where appropriate).

####

#### Can I import CSV multiple times?

Yes, for CryptoTaxCalculator.  The import results I've tested seem to indicate duplicates are detected, but this is only an early estimate.   The UI was not explicit that duplicates were detected and safely omitted.

Please email <support@stake.tax> if you feel these instructions are incorrect or outdated.

## Reference

* <https://cryptotaxcalculator.io/guides/advanced-manual-csv-import/>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cryptotaxcalculator&s=committer-date&type=commits>


# Crypto.com Tax

Documentation on importing CSV into tax.crypto.com

## Download CSV

* Select `cryptocom` in the download CSV prompt.

## Import CSV

* Sign in to <https://tax.crypto.com/>
* Go to Wallets & Exchanges tab and select "Add Wallet/Exchange+"
  * Search anything and choose "Other"
  * Enter Wallet/Exchange Name like "terra"
* Select Upload CSV
  * **Important: Choose UTC +00:00 time (any city)**
  * Follow UI to upload CSV.

## Common Errors

* **"Invalid currency code in csv report: ..."**&#x20;
  * tax.crypto.com is just missing a lot of currencies.  Not much can be done in terms of CSV import.  You will need to take this up with crypto.com support.
* **"Missing receiving wallet/exchange for the transfer transactions"**
  * You will need to manually mark these in tax.crypto.com UI.  Not much can be done in terms of CSV import, as there is no field for this.

## Notes

####

#### Omitted transactions

All transactions starting with underscore are omitted from the tax.crypto.com CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into tax.crypto.com manually (or ignored where appropriate).

#### Can I import CSV multiple times?

Yes, though you will get "Duplicated transaction record" errors that you will need to ignore.

## Reference

* CSV format conforms to guide at <https://help.crypto.com/en/articles/5019792-data-import> .

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cryptocom&s=committer-date&type=commits>

3/10/22

* Added tax.crypto.com CSVs to stake.tax


# CryptoBooks

Documentation on importing CSV into cryptobooks.tax

## Download CSV

* Select `cryptobooks` in the download CSV prompt.

## Import CSV

* Go to <https://app.cryptobooks.tax/transactions/import/csv>
* Use the "Import CSV file" instructions to upload the cryptobooks CSV

## Notes

This CSV was provided by an open source contributor.  Admittedly these instructions may not be complete, as I briefly tested with success but don't understand fully the website quite yet.

Please email <support@stake.tax> if you find these instructions erroneous or lacking.

## Reference

* <https://app.cryptobooks.tax/>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cryptobooks&s=committer-date&type=commits>


# Cryptoworth

Documentation on importing CSV into cryptoworth.io

## Download CSV

* Select `cryptoworth` in the download CSV prompt.

## Import CSV

Follow example found at <https://help.cryptoworth.app/support/solutions/articles/70000630604-how-to-use-stake-tax-for-luna>

&#x20; \* Update: use "cryptoworth" CSV instead of "default" CSV&#x20;

## Notes

## Reference

* <https://help.cryptoworth.app/support/solutions/articles/70000630604-how-to-use-stake-tax-for-luna>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=cryptoworth&s=committer-date&type=commits>


# Divly

Documentation on importing CSV into divly.com

## Download CSV

* Select `divly` in the download CSV prompt.

## Import CSV

* Go to <https://divly.com/client/#/add-wallets>
* Add wallet and follow instructions to upload a CSV file.

## Notes

## Reference

* <https://divly.com/en/wallets-and-exchanges/Custom%20Upload>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=divly&s=committer-date&type=commits>


# Koinly

Documentation on import CSV into koinly.io

## Download CSV

* Select `koinly`in the download CSV prompt.

## Import CSV

* Go to <https://app.koinly.io/wallets>
* Add a wallet if not exists. &#x20;
* Select a wallet.
* Import file -> Select CSV
  * use defaults (leave tag deposits blank)

## What are NULL\* currencies?

Because LP currencies (i.e. LP\_MIR\_UST, GAMM-2) are not recognized by koinly, they are replaced with NULL\* so that import works. &#x20;

* Example: LP\_MIR\_UST becomes NULL1.
* You can find the list of NULL substitutions here: [http://stake.tax/koinlynullmap ](https://stake.tax/koinlynullmap)

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the Koinly CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into Koinly manually (or ignored where appropriate).

#### **Koinly detects the wrong currency with same symbol?  What can I do?**

1. Find the koinly ID for the currency here: [https://app.koinly.io/p/markets?search](https://app.koinly.io/p/markets?search=STARS)

   &#x20; a. example: STARS for Stargaze goes to <https://app.koinly.io/p/markets/36899> .  So ID is 36899.
2. Add comment to <https://github.com/hodgerpodger/staketaxcsv/issues/93> with currency and koinly ID (i.e. STARS and 36899).   Can also email <support@stake.tax>.
3. We'll have it fixed in a jiffy (or if you're a developer, send a PR!)

####

#### Can I import CSV multiple times?

Yes, for Koinly.   You may import the full CSV multiple times and Koinly will detect duplicates and omit them.

####

#### Tips

* You may want to import partial CSV first as a test.  It's cumbersome to undo a large amount of transactions.
* Quick delete: there's no bulk delete function.  However, the quickest way to delete transactions appears to be deleting transactions page by page via the following: select one transaction -> go to bottom of page -> select icon to select all on page -> delete

## Reference

* CSV format conforms to guide at <https://help.koinly.io/en/articles/3662999-how-to-create-a-custom-csv-file-with-your-data>
* REALIZED\_PNL:
  * <https://support.koinly.io/en/articles/9490027-futures-and-perpetuals-pnl-transactions> : on handling of futures trade
  * <https://discuss.koinly.io/t/youhodler-csv-upload/15981> : on csv format for futures trade (or realized pnl)

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=koinly&s=committer-date&type=commits>

3/5/21

* Added LP deposits/withdraws as native koinly CSV imports with NULL\* mappings

10/17/21

* Added fix for inclusion of fees into koinly CSVs (previously only trades had fees included; now all transactions have fees included)


# Kryptos

Documentation on importing CSV into kryptos.io

### Download CSV <a href="#download-csv" id="download-csv"></a>

* Select `kryptos` in the download CSV prompt.

### Import CSV <a href="#import-csv" id="import-csv"></a>

Follow example found at <https://help.kryptos.io/en/articles/9690642-adding-a-custom-wallet-on-kryptos>

### Notes <a href="#notes" id="notes"></a>

### Reference <a href="#reference" id="reference"></a>

* <https://help.kryptos.io/en/articles/9690642-adding-a-custom-wallet-on-kryptos>

### Change Log <a href="#change-log" id="change-log"></a>

<https://github.com/search?q=repo%3Ahodgerpodger%2Fstaketaxcsv+kryptos&type=commits>

[<br>](https://docs.stake.tax/export-csv-formats/cryptobooks)


# Recap

Documentation on import CSV into recap.io

## Download CSV

* Select `recap` in the download CSV prompt.

## Import CSV

* Go to <https://app.recap.io/accounts>
* Under Accounts -> Custom Accounts
  * Select +Add Custom Account&#x20;
  * Enter any Account Name (i.e. "terra")
  * click gear icon for account -> Import Recap CSV&#x20;
    * (see picture below if confused)&#x20;
* Finish import CSV according to instructions.&#x20;

That's it!   Go to Activity tab to see transactions.

![](https://2327249054-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_I2UVN7rUuMPwzC4jr%2Fuploads%2Fp8ZCwJWVqmUgLg80abSU%2Fexample.png?alt=media\&token=fa597307-f5cb-4074-bc6c-09c35ab7f3f0)

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the Koinly CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into Koinly manually (or ignored where appropriate).

## Reference

* <https://help.recap.io/en/articles/2631702-importing-csvs-into-custom-accounts>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=recap&s=committer-date&type=commits>


# Taxbit

Documentation on importing CSV into taxbit.com

## Download CSV

* Select `taxbit` in the download CSV prompt.

## Import CSV

* Go to <https://app.taxbit.com/add-transactions/sources>
* Select Import from CSV -> "Upload a generic CSV"
* Follow prompt to upload file.

That's it!  To view results:

* See "**Add Transactions**" (CSV Files) to confirm file upload.&#x20;
* See "**Transactions**" to see transactions imported (note: may need to wait a few minutes for this particular tab to update)

## Notes

**Omitted transactions**

All transactions starting with underscore are omitted from the Taxbit CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into Taxbit manually (or ignored where appropriate).

**Can I import CSV multiple times?**

Duplicates are detected on Taxbit.  Users can either

* delete and reimport&#x20;
* only reimport &#x20;

Taxbit has a nice interface where both options are possible at <https://app.taxbit.com/add-transactions/sources> .

**Note**

Please note this is not an official guide for Taxbit.  Email <support@stake.tax> if this guidance is outdated. &#x20;

## **Reference**

* <https://taxbit.com/help/csv-import>
* <https://help.taxbit.com/hc/en-us/articles/360047756913-Importing-Transactions-Manually-with-a-CSV-File>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=taxbit&s=committer-date&type=commits>

* 1/13/22 : Added Taxbit CSV


# TokenTax

Documentation on importing CSV into tokentax.co

## Download CSV

* Select `tokentax` in the download CSV prompt.

## Import CSV

* Go to <https://app.tokentax.co/import>
* Click "Import Data" button
* Select CSV tab
* Follow instructions to upload the CSV

## Notes

**Omitted transactions**

All transactions starting with underscore are omitted from the TokenTax CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into TokenTax manually (or ignored where appropriate).

**Can I import CSV multiple times?**

Multiple imports causes duplicates on TokenTax.  To remedy, there are two options:

* Option 1
  * Edit CSV (i.e. google sheets), such that only new transactions exist. &#x20;
  * Upload edited CSV
* Option 2
  * Delete all transactions for the previous import(s)
    * <https://app.tokentax.co/import>
  * Upload full CSV again&#x20;

I strongly prefer option 1 because you are free to edit old transactions.  In option 2, edits on old transactions would be lost on re-import.

Email <support@stake.tax> if this guidance is outdated.

## **Reference**

* CSV format conforms to guide at: [https://help.tokentax.co/en/articles/1707630-create-a-manual-csv-report-of-your-transaction](https://help.tokentax.co/en/articles/1707630-create-a-manual-csv-report-of-your-transactions)s

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=tokentax&s=committer-date&type=commits>


# Waltio

Documentation on importing CSV into waltio.com

### Download CSV

* Select `waltio` in the download CSV prompt.

### Import CSV

* Sign in to [waltio](https://waltio.com/)
* Go to My accounts -> Add an account -> Select/Search chain -> Select icon for uploading CSV -> Drop your file

### Notes

**Omitted transactions**

All transactions starting with underscore could be omitted from the Waltio CSV (i.e. \_UNKNOWN). This means these transactions must be imported into Waltio manually (or ignored where appropriate).

### Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=waltio&s=committer-date&type=commits><br>


# ZenLedger

Documentation on importing CSV into zenledger.io

## Download CSV

* Select `zenledger` in the download CSV prompt.

## Import CSV

* Go to <https://app.zenledger.io/imports/> (Import tab).
* Select Upload via CSV.  Follow the UI flow from here.
* That's it.  To view transactions:
  * go to <https://app.zenledger.io/transactions>
  * select Exchange = "Manual"&#x20;

## Notes

#### Omitted transactions

All transactions starting with underscore are omitted from the zenledger CSV (i.e. \_LP\_WITHDRAW).  This means these transactions must be imported into zenledger manually (or ignore where appropriate).

####

#### Can I import CSV multiple times?

Multiple imports causes duplicates on zenledger.  To remedy, there are two options:

* Option 1
  * Edit CSV (i.e. google sheets), such that only new transactions exist. &#x20;
  * Upload edited CSV
* Option 2
  * Delete all transactions for the previous import(s)
    * Imports -> Imported History -> find CSV -> Action -> Delete
  * Upload full CSV again&#x20;

I strong prefer option 1 because you are free to edit old transactions.  In option 2, edits on old transactions would be lost on re-import.

Email <support@stake.tax> if this guidance is outdated.

## **Reference**

* CSV format follows sample CSV at <https://app.zenledger.io/static/assets/generalized-csv-sample.csv>
* CSV format follows guidance from <https://support.zenledger.io/en/articles/2615489-how-do-i-create-a-custom-csv>

## Change Log

<https://github.com/hodgerpodger/staketaxcsv/search?o=desc&q=zenledger&s=committer-date&type=commits>


# FAQ

To ask questions directly, email support\@stake.tax or tweet to @staketax .

### Can I run CSV job that exceeds transaction limit?

* For developers, you can try the open source instructions here: <https://github.com/hodgerpodger/staketaxcsv/blob/main/README_reference.md#run-csv-job-with-no-transaction-limit>
* Alternatively, you may ask via email <support@stake.tax>.  Sometimes these large CSVs can be run offline, but there are no guarantees here.

### Why does balance in Koinly/Cointracker not match my wallet?

* Exported CSVs (i.e. koinly) do NOT include transactions starting with underscore (i.e. *\_LP\_DEPOSIT,* *\_DEPOSIT\_COLLATERAL*). &#x20;
* **These transactions must be imported/handled manually by the user.** &#x20;
* This is the most common issue.

### How do staking/farming/etc taxes work?

We are not CPAs nor financial professionals.  We merely provide tools to create records of blockchain transactions that are consumable by popular tax software websites and easier to read. &#x20;

However, we'll point towards other sources like:

{% embed url="<https://tokentax.co/guides/nft-tax-guide>" %}

{% embed url="<https://tokentax.co/guides/defi-crypto-tax>" %}

{% embed url="<https://www.cointracker.io/blog/crypto-staking-taxes>" %}

### What are these CSV Formats (Cointracking, Koinly, etc.)?

These are cryptocurrency tax websites that help people report their taxes for cryptocurrency-related transactions.  Our CSVs can be directly imported these websites.

Note: We have zero affiliation with Cointracking, Cointracker, Koinly, etc..  With that said, we personally have found Cointracking to be adept at handling the tougher cases.

### Older transactions missing?

Each token has a most recent transactions limit, typically 5000-10000.  If your transaction history goes back further, it will be omitted. &#x20;

Email <support@stake.tax> for further options if your history requires going back farther.  In some cases, a report may be generated manually.

### I'm getting "internal error."

Sorry!  Email <support@stake.tax> with your bookmark url (i.e. <https://stake.tax/?jobId=\\><something>) if you would like someone to debug the problems with this particular report.&#x20;

### Support for other tokens?

Feel free to email <support@stake.tax> to ask for new tokens.  Given enough demand, we may consider adding more tokens.

### Support for other CSV formats?

At the moment, we support the CSV formats listed on the left menu (i.e. Accointing, Cointracking, etc).  If you require support for an additional CSV format, please do email <support@stake.tax>.  This type of addition is generally lightweight work that is often accommodated.

### Crazy asset price estimate for WEN airdrop on 1/26/2024-1/27/2024 in your crypto tax website?

* Price for WEN on 1/26/24 11:24pm PST: 0.00013156
* Above just meant as estimate of the correct price, since coingecko sampled price on 1/26/24 is nonsensical (implied 1000+ trillion market cap).

### What is an LCD URL?

An **LCD (Light Client Daemon) URL** is the endpoint used to access blockchain data for Cosmos-based networks via REST API. It's commonly used to fetch account balances, staking rewards, transaction details, and other blockchain data directly from a node without running a full node yourself.

For example, typical LCD URLs look like:

* Cosmos Hub: `https://lcd.cosmos.network`
* Osmosis: `https://lcd.osmosis.zone`

**More questions?**

* Email <support@stake.tax>&#x20;
* Tweet or DM [@staketax](https://twitter.com/staketax)
* Join the discord to query the community


# Media Assets

| Logos                                        |
| -------------------------------------------- |
| <https://stake.tax/images/logo.png>          |
| <https://stake.tax/images/logo.webp>         |
| <https://stake.tax/images/logo_letters.png>  |
| <https://stake.tax/images/logo_letters.webp> |
|                                              |
| <https://stake.tax/images/piggy_ALGO.png>    |
| <https://stake.tax/images/piggy_ATOM.png>    |
| <https://stake.tax/images/piggy_BLD.png>     |
| <https://stake.tax/images/piggy_BTC.png>     |
| <https://stake.tax/images/piggy_BTSG.png>    |
| <https://stake.tax/images/piggy_DVPN.png>    |
| <https://stake.tax/images/piggy_EVMOS.png>   |
| <https://stake.tax/images/piggy_FET.png>     |
| <https://stake.tax/images/piggy_HUAHUA.png>  |
| <https://stake.tax/images/piggy_IOTX.png>    |
| <https://stake.tax/images/piggy_JUNO.png>    |
| <https://stake.tax/images/piggy_KUJI.png>    |
| <https://stake.tax/images/piggy_LUNA1.png>   |
| <https://stake.tax/images/piggy_LUNA2.png>   |
| <https://stake.tax/images/piggy_OSMO.png>    |
| <https://stake.tax/images/piggy_SOL.png>     |
| <https://stake.tax/images/piggy_STARS.png>   |
|                                              |


