← All features

API keys

Connect your exchanges, wallets and brokers with read-only API keys so their balances sync automatically. Keys are stored encrypted and are write-only. Once saved they're never shown again; the app only shows whether a key is set. Banks connect differently, through a secure bank login with no keys to manage. See Bank connection setup.

How to use

  1. Create a read-only API key with your provider:
    • Binance: enable only Reading.
    • Coinbase: a read-only Advanced Trade key (enter the key name and its private key).
    • Kraken: only the Query Funds permission.
    • Bitstamp: only Account balance access.
    • Bitvavo: only the View right.
    • Bitpanda: any API key (Bitpanda's is read-only by nature).
    • Bybit: a read-only key with Wallet and Earn read access.
    • Zerion: a standard Zerion API key.
    • Spiko: your investor API client ID and secret.
    • Trading 212: a read-only key from the Trading 212 app.
    • Interactive Brokers: a Flex Web Service token and Flex Query ID.
  2. Open Settings, go to Connected Sources, and add a connection. If the keys aren't set yet, the key fields appear right in the form, and saving stores them (encrypted) and creates the connection.
  3. Balances sync right after, so wrong keys show up immediately.
  4. To change or remove keys later, use the key button on the connection's card.

Import transactions (Kraken, Spiko)

Balance sync records quantity changes without knowing why they happened. For providers whose API exposes real events, switch the connection's toggle to Transactions mode on its card: pick a start date (leave it blank for all available history) and events become proper ledger rows instead of anonymous balance adjustments:

Press Refresh on the card to fetch. Nothing posts to your ledger directly. Events land in the History → Review queue, where you keep, dismiss, merge or re-tag each row first. Events already staged are recognised (each sync remembers what it fetched, so re-running is safe), and events on positions you haven't linked yet show a "Link to holding…" box right in the queue.

Once in Transactions mode, new activity arrives on its own: the nightly job stages the connection's fresh events (rescanning a week back for safety) so trades and yields keep landing in Review without lifting a finger. If a connection can't update during that run (an expired key, a provider outage), you'll see a notice on your next visit and the details under Settings → Connected sources, so a silently broken key can't go unnoticed; the notice clears by itself on the next clean sync.

The result shows up everywhere: History shows real trades instead of "refresh" rows, the Tax tab gets accurate cost bases and pre-tagged income, and Kraken's key needs the extra Query Ledger Entries permission for the import (balances alone don't).

Good to know

Related