{"id":21885906,"url":"https://github.com/wantguns/unfold","last_synced_at":"2026-04-12T16:14:27.795Z","repository":{"id":200862970,"uuid":"705015276","full_name":"wantguns/unfold","owner":"wantguns","description":"unofficial cli client for https://fold.money, which essentially enables you to fetch your banking transactions into a sql database and/or a ledger file","archived":false,"fork":false,"pushed_at":"2023-10-28T21:29:58.000Z","size":95,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T12:12:08.741Z","etag":null,"topics":["account-aggregator","banking","budgeting","cli","finance","foldmoney","golang","ledger","ledger-cli","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wantguns.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"copying","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-14T19:41:23.000Z","updated_at":"2025-02-15T20:27:01.000Z","dependencies_parsed_at":"2023-10-28T22:24:01.027Z","dependency_job_id":null,"html_url":"https://github.com/wantguns/unfold","commit_stats":null,"previous_names":["wantguns/unfold"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/wantguns/unfold","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wantguns%2Funfold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wantguns%2Funfold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wantguns%2Funfold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wantguns%2Funfold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wantguns","download_url":"https://codeload.github.com/wantguns/unfold/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wantguns%2Funfold/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263922473,"owners_count":23530334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["account-aggregator","banking","budgeting","cli","finance","foldmoney","golang","ledger","ledger-cli","sqlite"],"created_at":"2024-11-28T10:30:07.565Z","updated_at":"2026-04-12T16:14:27.766Z","avatar_url":"https://github.com/wantguns.png","language":"Go","readme":"# Unfold\n\nUnfold is an unofficial [Fold Money](https://fold.money) CLI client, which\ncovers the bare minimum API routes to fetch your transactions for a given\nperiod and even write them to a sqlite database. It also provides options for\nrunning an internal cron job through which this CLI acts as a daemon and\nfetches transactions every time the cron job's timer is met.\n\nFold's API is not publically available, I had to MITM their app to write this\ntool, and so **there might be unforeseen consequences for your Fold account if\nyou use this tool**.\n\n### Prerequisites\n\n- You need a Fold Account, which is currently only available on an invite basis\n- You need to connect to whichever banks you have using the Fold app first\n\n### Installation\n\n- Using golang's build system:\n  ```bash\n  $ go install github.com/wantguns/unfold\n  ```\n\n### Usage\n\n**Caution: For all I know, Fold has not publically released a client which can\nsupport multiple sessions, which means when you use this CLI, you will be\nautomatically logged out on your Phone's app**\n\n1. First, login to your account:\n    ```bash\n    $ unfold login\n    ```\n\n2. Then you can fetch your transactions:  \n\n    a. In plaintext:\n      ```bash\n      $ unfold transactions\n      ```\n\n    b. In plaintext and also write to a db:\n      ```bash\n      # Write to a local file called `db.sqlite` by default\n      $ unfold transactions -s 2023-09-20 --db\n      ```\n\n    c. Create an internal cron job to fetch transactions every 20 seconds and save them to a db: \n      ```bash\n      # Note: You need to enable the `-d` or `--db` flag to ensure that the changes are written to a database\n      $ unfold transactions -s 2023-09-20 --db -w '@every 20s'\n      12:19AM INF Cron job set for fetching transactions, going into daemon mode\n      12:19AM INF Fetched transactions till 2023-10-17\n      12:20AM INF Fetched transactions till 2023-10-17\n      ```\n\n    d. For a complete glossary of available options:\n      ```\n      $ unfold transactions -h\n      Prints the transactions from all of your accounts (default period: 1 month)\n\n      Usage:\n        unfold transactions [flags]\n\n      Flags:\n        -d, --db               Save the results in a sqlite db\n        -D, --db-path string   Sets path for the database (default \"db.sqlite\")\n        -h, --help             help for transactions\n        -s, --since string     fetch transactions since in this format: YYYY-MM-DD (default \"XXXX-XX-XX\")\n        -t, --till string      fetch transactions till in this format: YYYY-MM-DD (default \"XXXX-XX-XX\")\n        -w, --watch string     Set an internal cron job to trigger this command. You can use non-standard cron expressions like '@every 6h'. This will disable plaintext mode, so add a '-d' flag if you want to write to db\n\n      Global Flags:\n            --config string   config file (default is $HOME/.config/unfold/config.yaml)\n        -v, --debug           Enable debug mode\n            Prints the transactions from all of your accounts (default period: 1 month)\n      ```\n\nThere are a few more subcommands which Unfold provides and uses internally. You\ncan get a list by:\n```\n$ unfold\nAn unofficial cli client for fold.money\n\nUsage:\n  unfold [command]\n\nAvailable Commands:\n  availability Returns a range of dates for when your banking data is available\n  completion   Generate the autocompletion script for the specified shell\n  help         Help about any command\n  login        Log in to your fold account\n  refresh      Refresh your auth tokens\n  transactions Prints the transactions from all of your accounts (default period: 1 month)\n  user         Get your account details\n\nFlags:\n      --config string   config file (default is $HOME/.config/unfold/config.yaml)\n  -v, --debug           Enable debug mode  \n  -h, --help            help for unfold\n\nUse \"unfold [command] --help\" for more information about a command.\n```\n\n### Credits\n\n[Fold Money](https://fold.money), for their Account Aggregator integration\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwantguns%2Funfold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwantguns%2Funfold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwantguns%2Funfold/lists"}