The relay, why it exists and why it cannot hurt you

This page is a stub. The full guide is written against the shipped app version and is on its way.

The relay exists because of one technical fact, exchanges refuse direct requests from pages running in a browser, the CORS policy on their authenticated endpoints. A page cannot call api.kraken.com itself, something server-side must forward the call. The relay is the smallest possible version of that something.

What it does. It accepts a signed request from your browser, checks the destination against a two-host allowlist, api.kraken.com and api.binance.com, forwards it, and hands back the answer. That is the whole job.

What it deliberately cannot do. It never sees an API secret, signing already happened in your browser. It stores nothing, has no database and no accounts, and logs nothing. It strips every header except the exchange authentication headers and content type. It refuses any destination that is not one of the two exchange hosts, ask it to fetch anything else and the answer is a refusal.

Trust, and the exit from trust. You are trusting that the deployed relay matches this description. If you would rather not, the relay’s source is a single small file, published so you can read it, and you can deploy your own copy to your own account and point the app at it in Settings. The design goal is that trusting us should never be a requirement, only a convenience.

The privacy model page lists the relay alongside the other two optional network features, wallet scanning and price lookups, so the complete network surface of the app fits in one short list.