> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ai2fin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Monzo — connect with your own developer client

> Connect Monzo (UK) to the AI2Fin desktop app by registering your own confidential OAuth client at developers.monzo.com. The redirect URL, in-app approval and the full-history window explained. Desktop and self-hosted.

<Info>
  **Available in:** Desktop app · Self-hosted  |  **Reach:** 🇬🇧 Monzo accounts  |  **Cost:** free from Monzo; a paid AI2Fin plan
</Info>

## What it is

Monzo's API uses OAuth rather than a pasted token. AI2Fin holds **no Monzo
relationship at all**: you register a client of your own at Monzo's developer
portal, give AI2Fin its ID and secret, and authorise in the Monzo app. It is
still bring-your-own in the way that matters — the client is yours.

## Connect

<Steps>
  <Step title="Register a client at Monzo">
    [developers.monzo.com](https://developers.monzo.com) → **Clients** → new
    client. Set **Confidentiality** to **Confidential** — a *public* client
    receives no refresh token and stops working after a few hours in a way
    that looks exactly like a broken integration.
  </Step>

  <Step title="Copy the redirect URL from AI2Fin">
    Connectors → **Monzo** shows the exact redirect URL with a copy button.
    Monzo rejects the flow if it does not match byte for byte, and its error
    does not say so.
  </Step>

  <Step title="Paste the client ID and secret, then authorise">
    **Connect** sends you to Monzo, then back. Monzo will report
    *verification required* until you tap **Approve** in the Monzo app on your
    phone — that is an unfinished step, not a failure.
  </Step>
</Steps>

<Warning>
  **Full history is only available in the few minutes after you authorise.**
  AI2Fin backfills automatically inside that window, but it means connecting once,
  properly, matters more here than with any other feed. If the first sync was
  interrupted, reconnect rather than waiting for the next poll.
</Warning>

## What syncs

Accounts, balances and transactions.
After the initial backfill, polling every 15 minutes.

## Why desktop only

No credential of AI2Fin's is involved, but AI2Fin still holds your tokens. In
the cloud that would be our servers holding them; on your machine it is you. A
self-hosted instance can enable it with `BYO_PERSONAL_TOKENS_HOSTED=true`.

## Revoking

Remove the client at developers.monzo.com, or revoke access from the Monzo
app's settings.
