General Information
- When uploading a CSV we recommend working within our template, this is a valid CSV file that displays some draft entries in the appropriate format. The official template can be found (here).
- Although the template is shared via a Google Sheets document, only CSV files can be imported. XLS, XLSX, etc files are forbidden. So be sure to download/export your file in a CSV format.
To ensure data collated within Cryptio is accurate and succinct we must be very strict on the format of CSV uploads. Make sure to take note of the different columns needed and the way in which their data must be entered.
Columns Explanations
transactionDate
- This column must always be filled.
- This column is for the date at which the transaction happened.
- The date must be in UTC (UTC+0). Your workspace timezone should not be taken into account here.
- The date format must be entered in this format
YYYY-MM-DD HH:MM:SS
. So if the date, day, and time you’re looking to import is the 30th of December 2020, at 20:10 the correct entry would be2020-12-30 20:10
orderType
- This column must always be filled and typed in lower case
- The order type refers to the specific type of movement. We have three movement types.
withdraw
if the transaction is a withdrawal (money goes out, nothing more)deposit
if the transaction is a deposit (money goes in, nothing more)trade
if the transaction is a trade (a certain amount is exchanged for another amount)
- The chosen order type has an impact on what other columns are required. For instance, if a transaction has the order type
withdraw
, the following columns are required: outgoingAsset and outgoingVolume. On the contrary, if a transaction has the order type deposit, then incomingAsset and incomingVolume become mandatory. - We are very strict on this column. For instance,
Withdraw
(with a capital letter) orwithdrawal
(instead ofwithdraw
) are not valid inputs.DEPOSIT
(in full caps) is not valid either.
txhash
- This column must always be filled.
- This column is for the hash of the transaction.
- Every hash corresponds to a single transaction, but multiple movements may share the same hash if they belong to the same transaction.
Asset Symbols
In our template, the following columns hold asset symbols:
incomingAsset
outgoingAsset
feeAsset
Cryptio has thousands of assets in database. Some of these assets have clashing symbols. For instance, these two contracts have the same symbol (aUSDT
, one is for AAVE V1, and the other is for AAVE V2):
- https://etherscan.io/address/0x71fc860f7d3a592a4a98740e39db31d25db65ae8
- https://etherscan.io/address/0x3ed3b47dd13ec9a98b44e6204a523e766b225811
In order to differentiate these two assets, we attach what we call “a unique symbol” to the assets we have in database. For these two assets, we have the following unique symbols:
- AUSDT-2ae24
- AUSDT-c09ca
Unique symbols can be looked up here (the page might take a few seconds to load). Because we know that searching for unique symbols is a cumbersome task, the most popular assets have a unique symbol that actually corresponds to their symbols. For instance, the unique symbol of Bitcoin (BTC) is actually BTC. Same for Ethereum (ETH) or USDT (USDT).
incomingAsset
- This column must be filled if the order type is
deposit
, ortrade
. Otherwise it is ignored. - This column holds the symbol (see the
Asset Symbols
section for more information) of the incoming movement, if relevant.
incomingVolume
- This column must be filled if the order type is
deposit
, ortrade
. Otherwise it is ignored. - This column holds the volume of the incoming movement, if relevant.
- The volume is expressed in the currency set by the incomingAsset column, on the same row.
- The integer part and the decimal part must be separated by a single dot. The comma is not a valid separator, only the dot is.
- No separators are allowed within the integer part or the decimal part.
1,000,000
for “one million” is not valid.1.000.000
for “one million” is not valid either. However1000000
is.1000000.0
is valid too.
outgoingAsset
- This column must be filled if the order type is
withdrawal
, ortrade
. Otherwise it is ignored. - This column holds the symbol (see the
Asset Symbols
section for more information) of the outgoing movement, if relevant.
outgoingVolume
- This column must be filled if the order type is
withdrawal
, ortrade
. Otherwise it is ignored. - Please refer to the
incomingVolume
column.
feeAsset
- This column is not mandatory.
- This column holds the symbol (see the
Asset Symbols
section for more information) of the fee movement, if relevant. - Please refer to the
Comments on Fees
section for more information on fees.
feeVolume
- This column is not mandatory.
- Please refer to the
incomingVolume
column. - Please refer to the
Comments on Fees
section for more information on fees.
otherParties
- This column is not mandatory.
- This column holds the other party for a particular movement.
- The column is plural, but that’s a lie, only a single value is allowed.
note
- This column is not mandatory.
- This column holds a note (arbitrary text) that will be attached to the movement.
success
- This column is optional. The value can be
1
.
internalTransfer
- This column is optional. The value can always be
0
.
Can I add transactions to a CSV in the future?
Yes! Once you've imported a CSV, you can add new transactions to the source at any point. All transactions present in the uploaded file will be imported, even if it was already imported in Cryptio. This can cause duplicates so be careful to only include newer transactions in the CSV you are about to upload.
Simply click anywhere on the source row in your Import page and hit the below button to upload the new transactions: