https://github.com/jrh3k5/cryptonabber-sync
A utility used to synchronize YNAB account balances to token balances
https://github.com/jrh3k5/cryptonabber-sync
Last synced: 3 months ago
JSON representation
A utility used to synchronize YNAB account balances to token balances
- Host: GitHub
- URL: https://github.com/jrh3k5/cryptonabber-sync
- Owner: jrh3k5
- License: apache-2.0
- Created: 2024-01-27T00:34:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-10T01:39:16.000Z (3 months ago)
- Last Synced: 2025-03-10T02:49:01.719Z (3 months ago)
- Language: Go
- Size: 132 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ynab - Cryptonabber Sync
README
# cryptonabber-sync
A utility used to synchronize YNAB account balances to token balances## Usage
### Prerequisites
* You must have a [YNAB](https://ynab.com) account with a budget and accounts to set up
* You must have a registered OAuth client ID and secret as described [here](https://api.ynab.com/#oauth-applications).### Executing the Program
You can either supply the OAuth credentials interactively by executing this application as:
```
/cryptonabber-sync --interactive
```...or you can supply the OAuth credentials non-interactively by executing this application as:
```
/cryptonabber-sync --oauth-client-id= --oauth-client-secret=
```You can provide the following optional arguments:
* `--dry-run`: specify this if you would like this tool to calculate balances, but not actually persist them to YNAB
* `--file`: by default, this application looks for a file called `config.yaml` in the local directory; if you would like to use a different filename or location, you can use this parameter to specify that### Configuration
#### Configuration File Format
Your configuration file should have the following configuration:
```
ynab_budget_name: ""
rpc_configurations:
- rpc_url: ""
chain_name: ""
chain_type: "evm"
ynab_accounts:
-
```##### YNAB Account Configuration
This tool supports the following types of assets to be evaluated:
* **ERC20**: a standalone token that implements the ERC20 standard
* **ERC4626 Vault**: a vault that implements the ERC4626 standard
* **ERC20 Wrapper**: a wrapper token that, through a function on the contract, expresses what the underlying wrapped asset is###### ERC20 YNAB Account Configuration
The configuration block for evaluating the balance of an ERC20 token looks like:
```
- account_name: ""
payee_name: ""
transaction_category_name: ""
wallet_address: ""
token_address: ""
```###### ERC4626 Vault YNAB Account Configuration
The configuration block for evaluating the balance of an ERC4626 vault token looks like:
```
- account_name: ""
payee_name: ""
transaction_category_name: ""
wallet_address: ""
vault_address: ""
balance_function: ""
```###### ERC20 Wrapper YNAB Account Configuration
The configuration block for evaluating the balance of an ERC20 wrapper token looks like:
```
- account_name: ""
payee_name: ""
transaction_category_name: ""
wallet_address: ""
token_address: ""
base_token_address_function: ""
```##### Fiat Value Evaluation
This tool currently only supports conversion of asset values into USD. This tool attempts to resolve an asset's quote from Coingecko using the asset's address (or the address of the underlying asset, for cases such as vaults or wrapping tokens).
## Privacy Policy
This application does not persist any information given to this application. It only uses the access granted to your account within YNAB to update account balances within YNAB to reflect ochain balances using the configuration you provide to the tool.
No data given to this application or read from YNAB is shared with any third parties.