- Rust 100%
| src | ||
| tests | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
sfin-bridge
A command-line client for the SimpleFIN Bridge, written in Rust. Fetch account balances and transactions using SimpleFIN protocol v2.
Install
cargo install --path .
Or build a local binary with cargo build --release; the result is target/release/sfin-bridge.
Quick start
-
Get a setup token from your SimpleFIN Bridge account.
-
Claim it once and save the returned access URL to
~/.sfin-bridge.yaml:sfin-bridge claim <SETUP_TOKEN> # Keep the token out of shell history: printf '%s\n' "$SETUP_TOKEN" | sfin-bridge claim -
Fetch data:
sfin-bridge accounts sfin-bridge transactions --start-date 2026-05-01 sfin-bridge tx --account ACT-1234 --pending --json sfin-bridge info
Commands
| Command | Description |
|---|---|
claim |
Exchange a setup token for an access URL and save it |
accounts |
List accounts and balances (--account, --json) |
transactions |
List transactions (--start-date, --end-date, --pending, --account, --json); alias tx |
info |
Show protocol versions supported by the server |
completion |
Generate completion scripts for Bash, Fish, PowerShell, or Zsh |
Run sfin-bridge help <COMMAND> for full options.
Configuration
The access URL is resolved in this order:
--access-urlSFIN_ACCESS_URLaccess_urlin~/.sfin-bridge.yaml, or the file selected by--config
Existing ~/.sfin-bridge-cli.yaml configs are still used when the new path does not exist. Config files are written atomically with 0600 permissions. HTTP is rejected except for localhost, which keeps local tests and development possible without weakening production credentials.
Try the public demo without claiming a token:
SFIN_ACCESS_URL='https://demo:demo@beta-bridge.simplefin.org/simplefin' \
sfin-bridge accounts
Development
cargo fmt --all --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets