Description
This article provides a detailed guide on setting up and using the integration between SoftLedger and NODE40, enabling users to sync cryptocurrency transaction data from NODE40 into SoftLedger for accurate and efficient accounting. This integration allows users to import crypto activity from NODE40, where it collects and organizes data from various sources, into SoftLedger. The process involves generating API keys, configuring the integration, selecting profiles and sources, and syncing transactions, as demonstrated in a provided video.
Prerequisites for Integration
Before setting up the integration, ensure the following:
Active Accounts: You have active accounts with SoftLedger and NODE40.
Cryptocurrency Sources: Sources like exchanges or wallets are added in NODE40.
SoftLedger Wallet: A wallet is set up in SoftLedger per NODe40 source. You can create wallets during setup if needed.
Administrative Access: You have permissions to manage integrations in both platforms (generating API Keys from NODE40).
Adding Cryptocurrency Sources in NODE40
Before connecting to SoftLedger, add your cryptocurrency sources in NODE40 to ensure all transaction data is available for syncing. Follow these steps:
Log in to your NODE40 account at NODE40.
Navigate to the profile you wish to use.
Add sources such as exchanges or wallets. For example, for an Ethereum wallet, enter the public address.
Sync all sources to ensure transactions are up to date. Check the timeline in NODE40 to confirm.
Setting Up API Keys in NODE40
To authenticate the connection between SoftLedger and NODE40, generate API keys in NODE40. Follow these steps:
Log in to your NODE40 account at NODE40.
Go to “My Organization Settings” in the user interface.
Locate the API keys section and generate a new API key if none exists.
Copy the API key's client ID and its corresponding secret.
Note: Store API keys securely, as they grant access to your NODE40 data. If you encounter issues, refer to NODE40’s documentation.
Connecting SoftLedger to NODE40
With API keys ready, configure the integration in SoftLedger. Follow the below steps.
Note: You will be creating an Integration per Account (Profile) within your NODE40 Balance platform. So if you have multiple Accounts, you can set up multiple integrations.
Navigate to the “Crypto Integrations” tab in the dashboard (contact Support if you do not see this enabled in your tenant).
Click “+ New” to create a new integration.
Enter a name for the integration (e.g. Profile Name from NODE40).
Input the API client ID and secret from NODE40.
Select the NODE40 profile containing your sources.
Pick the specific NODE40 source(s) to sync by clicking enable next to each source desired. If multiple sources exist, enable only those you want to import.
Select an existing SoftLedger wallet to associate with each source (or create a new wallet if needed).
Click “Save” to complete the setup.
Note: If the connection fails, verify the API keys, ensure the profile and sources are correctly configured, and check for error messages.
Syncing Transactions
Once the integration is set up, sync transaction data from NODE40 to SoftLedger. Transactions will only sync when a user clicks the Sync button within each Integration.
Click on the integration you successfully setup.
Click the “Sync” icon to start the synchronization process.
Monitor the “Runs” section to track the sync status. It may take a few minutes depending on transaction volume.
Check for errors in the “Result” in top right, OR the “Last Error” sections of the Runs tab.
After syncing, verify the imported transactions in SoftLedger’s transactions page, where you can see details like source address and ID linking back to NODE40.
Note: You can re-run the sync to update transactions as new data is added in NODE40. The transactions table in SoftLedger includes unique IDs for traceability.
Transaction Type Mapping
NODE40 categorizes transactions that translate to the SoftLedger Transaction Types. See the transaction type for NODE40 below:
Buy
Sell
Deposit
Withdrawal
Fee
SoftLedger breaks down these transactions into SoftLedger Types of:
Deposits - any incoming quantity amount from a transaction type in NODE40
Withdrawals - any outgoing quantity amount from a transaction type in NODE40
Fee Only - an outgoing quantity amount that is for a FEE from NODE40
Note: this means that a single transaction (e.g. trading one crypto asset for another) can result in multiple SoftLedger transactions, such as a Deposit and a Withdrawal to capture the incoming and outgoing quantities of crypto assets properly.
Coin Mapping from NODE40 to SoftLedger
Coins are termed as Assets in Node40, where an asset can either be a Coin or an NFT.
When syncing transactions from NODE40 to SoftLedger, the following mapping of NODE40 Assets to SoftLedger Coins applies:
If a Coin with the same symbol already exists in SoftLedger, it will be used.
If the Coin doesn't exist, a new Coin will be created with the following details:
symbol
: The symbol of the asset.name
: The name of the asset | defaults to the symbol.rateId
: The rate ID of the asset from CoinMarketCap. If the asset symbol isn't known by CoinMarketCap, the contract address is saved as the rateId. This is usually the case for NFT.
Caution: If a Coin or NFT symbol isn't known by CoinMarketCap, rates aren't available for it. Each deposit/withdrawal/fee transaction of that coin must specify a price.
Troubleshooting
If issues arise during setup or syncing, try these steps:
Verify API Keys: Confirm the API keys in SoftLedger match those from NODE40 and have the required permissions.
Check Integration Setup: Ensure the correct profile and sources are selected and enabled in the integration.
Review Errors: Examine error messages in the “Runs” section of SoftLedger’s integration page and follow any guidance provided.
Stable Connection: Ensure a reliable internet connection to avoid disruptions.
Service Status: Confirm that both SoftLedger and NODE40 services are operational.
For persistent issues, contact SoftLedger Support or NODE40 Support.