Cryptonabber Transaction Sync
This is a tool used to synchronize transactions onchain with transactions in YNAB. By default, this is intended to be used to synchronize USD transactions in YNAB with USDC (a USD-pegged stablecoin). For transactions that it can match, it will mark them as cleared and store the transaction hash in the memo of the transaction.
Usage
This tool requires an export of data from an Etherscan explorer (e.g., https://basescan.org) of the transactions for the account and token.
Command
An example usage of this is:
./cryptonabber-txn-sync \
--ynab-access-token=<access token> \
--csv-file=/path/to/etherscan_export.csv \
--wallet-address=0x9134fc7112b478e97eE6F0E6A7bf81EcAfef19ED
The tool will read the CSV, fetch token details from the RPC endpoint, find uncleared transactions in YNAB, and attempt to match and clear them while appending the matching transaction hash to the memo.
Command-line Arguments
- --ynab-access-token: (required) YNAB Personal Access Token used to authenticate requests to the YNAB API.
- --csv-file: (required) Path to an Etherscan CSV file containing token transfers (used to find matching on-chain transfers).
- --wallet-address: (required) The wallet address to match transfers against (case-insensitive).
- --rpc-url: (optional) The JSON-RPC endpoint to use for token metadata lookups. Defaults to
https://mainnet.base.org.
- --token-address: (optional) The token contract address to sync. Defaults to the USDC address configured in the project.