Synci
Synci connects your real bank, brokerage, and crypto-exchange accounts to AI assistants, read-only.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only
What it can do
- List Accounts: List the user's connected financial accounts (bank, investment, crypto). Each is a lean summary: name, institution, category, currency, a balance block, account health, and earliest_ava
- Get Account Balance: Get balance snapshots for one account (e.g. INTERIM_AVAILABLE, EXPECTED, CLOSING_BOOKED). `as_of` is when balances last synced — they can lag transactions, so caveat stale figures
- List Transactions: List the user's financial transactions in a date window, newest first, across all account types (bank, deposit, line of credit, investment). Each row is lean by default: id, date, a
What data it sees
Do you need an account
No: the server works without sign-in
Synci connects your real bank, brokerage, and crypto-exchange accounts to AI assistants, read-only. Ask about balances, transactions, holdings, and spending across all your accounts in one place:
"What did I spend on groceries last month?" "Which subscriptions am I paying for, and what do they cost per year?" "How is my portfolio allocated across stocks, ETFs, and crypto?" "Compare my checking account balance today with the start of the month." "Are any of my bank connections failing?"
Server tool list (5)
Raw names from tools/list. Only developers need these.
| list_accounts | List the user's connected financial accounts (bank, investment, crypto). Each is a lean summary: name, institution, category, currency, a balance block, account health, and earliest_available_date. IMPORTANT: balances can lag transactions — check balance.as_of (the last time balances synced) and caveat stale figures. IMPORTANT: earliest_available_date is the start of the account's synced history — a query for a period before it returns nothing because the data was never synced, NOT because there was no activity, so never report a total for a window that starts before it without caveating the coverage. Investment/crypto accounts often have an empty balance (their value is in list_holdings). verbose:true returns the full record. Sensitive identifiers are omitted. |
| get_account_balance | Get balance snapshots for one account (e.g. INTERIM_AVAILABLE, EXPECTED, CLOSING_BOOKED). `as_of` is when balances last synced — they can lag transactions, so caveat stale figures. For a credit account a negative CLOSING_BOOKED is the amount owed (not overdrawn). Investment/crypto accounts usually have no balance snapshots; the response then points you to list_holdings. |
| list_transactions | List the user's financial transactions in a date window, newest first, across all account types (bank, deposit, line of credit, investment). Each row is lean by default: id, date, amount (negative = money out), currency, booked, payee, description (omitted when it duplicates payee), an account {id, name, institution} ref, and — when available — mcc, category, and bank_details (raw provider metadata: transaction/purpose codes, currency-exchange info, and the MCC category text that banks put in additional_information — useful for categorising spend when enrichment is off). Pass "verbose": true for the full, raw transaction record. Investment rows also carry: type (raw activity, e.g. BUY / SELL / DIVIDEND / CRYPTO_SEND), is_cash_flow, units, and price_per_unit (the effective per-unit price in this row's currency, = |amount| / units). IMPORTANT for "what did I spend": rows with is_cash_flow=false are asset transfers or income-in-kind (crypto send/receive, staking, stock splits) — NOT money spent; exclude them from spending totals. Use amount, units and price_per_unit for trade figures; ignore any price written into the description string (it is the provider's own and can be in a different currency). Dates: "date" is Synci's per-account authoritative date by default (what the user sees; "spending in June" means this). Override with date_field "booking" or "value" to filter/sort/show a specific date instead. Both booked and pending transactions are returned by default; filter with status ("all" | "booked" | "pending", default "all"). Pending amounts can still change. Coverage: meta.earliest_available_date is the date the queried accounts are synced from. If it is later than your "from", the window is only PARTIALLY covered — data before it was never synced (not absent), so any total would silently under-report. Caveat the coverage, or narrow "from" to it. Pagination: results are bounded by the date window and "limit" (default 50, max 100). Check meta.has_more: if true, request the next page by passing meta.next_cursor as "cursor" (keyset paging, no gaps or overlap). Sensitive identifiers (IBAN, account numbers, etc.) are always omitted. |
| list_holdings | List the investment and crypto positions held in the user's brokerage and crypto-exchange accounts: symbol, asset class, quantity, latest price, market value and currency. Bank accounts have no holdings. Optionally restrict to one account. |
| list_connections | List the authenticated user's bank/provider connections and their health status (HEALTHY, FAILING, DEAD), including the institution and consent expiry. |