How to use Modan
Step-by-step guides for the full customer journey — from signup to a running API integration. Looking for endpoint documentation instead? That lives in the API reference.
Signing up
Create a Modan account and land in the terminal with a working API key — no card required.
- 1
Create your account
Go to modan.io/signup and register with your email and a password. If a teammate invited you, use the link in the invitation email — it fills in the address the invitation was sent to and keeps it, because your seat is held for that address. To join with a different one, ask whoever invited you to invite that address instead.
- 2
You land in the terminal
After signup you arrive in the terminal's API Keys tab, and your first API key is minted automatically — there is nothing to configure before your first request.
- 3
What the free tier includes
From day one: the market data terminal, the API and MCP, on one allowance of 25 a day, with IMTO and fintech & PSP rates on every corridor they quote. Rates from banks, central banks, crypto exchanges and aggregators, and so the USDT and USDC corridors, come with Pro and Max. Free-tier data is refreshed hourly — rates are served as of the top of the current UTC hour, and API responses say so explicitly (
data_freshness: "hourly").
Choosing a plan
Free, Pro or Max — what each costs, what each includes, and what the honest differences are.
- 1
Free — evaluate the platform
IMTO and fintech & PSP rates on every corridor they quote, with the terminal, the API and MCP on one allowance of 25 a day, hourly-refreshed data and historical time series. No card, no time limit.
- 2
Pro — every provider type, hourly
$99 per seat per month (or $990 per seat per year). Every provider type: banks, central banks, crypto exchanges and aggregators join IMTOs and fintechs & PSPs, and with them the USDT and USDC corridors. 250 a day for each person, across the terminal, the API and MCP, and email support. Pro keys still serve data refreshed hourly — Pro reads more and allows more, but it is not a faster feed.
- 3
Max — real-time keys, the largest allowance
$299 per seat per month (or $2,999 per seat per year). Every provider type, as on Pro. 5,000 a day for each person, across the terminal, the API and MCP, and priority support. Max keys are not held to the top of the hour: this is the only plan whose API and MCP responses carry rates the moment we observe them.
- 4
Which provider types does my plan include?
Free includes IMTOs (international money transfer operators, such as LemFi, Remitly and Western Union) and fintechs & PSPs (such as Wise, Grey and Eversend), on every corridor they quote. Pro and Max include every type, adding commercial banks, central banks, crypto exchanges and aggregators. USDT and USDC corridors, which only crypto exchanges and aggregators quote, need Pro or Max. The API and MCP follow the same rule: on a Free key, a request with no
provider_typereturns the free types plus awithheldblock saying what was held back, and one naming commercial banks, central banks, crypto exchanges or aggregators is refused (403 plan_requiredover REST) without using your daily allowance. Free API keys created before 5 Oct 2026, 08:00 UTC return every type until 4 Nov 2026, 08:00 UTC. - 5
Pick the plan on the pricing page
Go to modan.io/pricing, choose monthly or annual billing, and check out through Stripe. Pro and Max are priced per seat: choose the number of seats before checkout, and the total updates as you change the count.
data_freshness and an as_of timestamp, so you always know exactly how fresh a rate is.Selecting seats on Pro and Max
Pro and Max are priced per seat, and each seat holder has a daily allowance of their own. Choose the count at checkout, and grow or shrink it later from the terminal.
- 1
Choose the seat count at checkout
On the Pro or Max card at modan.io/pricing, set the number of people who need access. The price is per seat: $99 per seat per month on Pro and $299 per seat per month on Max. Suppose three people need Max: three seats is $897/month. You (the owner) occupy the first seat, and every seat holder gets the plan's full daily allowance, not a share of yours.
- 2
Add seats later, at the moment you need them
Invite past your capacity in Account → Seats and you'll be shown exactly what the next seat costs before anything is charged. Confirm, and the seat is added to your Stripe subscription with an immediate prorated charge for the remainder of the billing period.
- 3
Reduce seats
You can lower the seat count to any number at or above the seats currently in use — remove teammates first if you need to go lower. Reductions prorate as a credit on your next invoice.
Using the Terminal
The terminal at modan.io/app is keyboard-driven and built for corridor-level price discovery.
- 1
The tabs
Price Discovery is the live grid — the selected corridor's rates, one provider type per tab. On Free, the tabs for banks, central banks, crypto exchanges and aggregators say who quotes the corridor and when Modan last checked, with their rates on Pro and Max. Analytics, Briefing, Alerts, Coverage Map and Market Intel are the analyst views. API Keys holds your keys and docs; Account holds your plan, billing and team.
- 2
Arranged for your role
The first time you open the terminal it asks whether you work at a central bank, in treasury, or as a developer, and arranges the default view, tab order and grid columns to match — a dispersion strip by rate type for central banks, a vs-mid column and fees for treasury, a cURL for the corridor on screen for developers. Nothing is hidden; only the defaults move. The answer is saved to your account, so you are asked once, and you can change it any time in Account → Profile.
- 3
Keyboard shortcuts
/focuses the currency search.↑↓move through the grid,Enteropens the selected provider in the inspector,Esccloses it.Ctrl/Cmd+Eexports the current grid as CSV, andCtrl/Cmd+Kopens the command palette. - 4
Reading the numbers honestly
spread_bpsis how far a provider sits below the best current rate of the same kind in the corridor: the same provider type and the same rate type. A money-transfer operator is measured against other money-transfer operators, a bank's board rate against other banks, and an official central-bank reference is never ranked against a retail price.vs_mid_bpscompares a provider against the independent mid-market reference where one exists. They answer different questions; the terminal keeps them separate on purpose. - 5
Stale quotes are shown, never ranked
A quote that has not been re-checked for 24 hours is marked stale. It stays visible with the time it was last checked, but it is never the best, it carries no spread, and it is left out of medians, dispersion and provider counts. After 7 days without a check it leaves the current view; its history is kept. Freshness is judged on when we last checked a quote, not on when its price last moved, so a corridor holding a steady price stays current. Commercial and central banks publish on weekdays only, so their weekend hours do not count: a bank's Friday close is still current on Sunday.
- 6
On mobile
The dense grid is desktop-first. The API Keys and Account tabs work on any screen, so grabbing a key or opening your billing from a phone always works.
Inviting and removing teammates
On Pro and Max, the subscription owner and admins manage members from Account → Seats. Invitations, roles, removals and leaving.
- 1
Invite by email
In Account → Seats, enter your teammate's email, pick a role — Admin (can manage the team), Member, or Viewer — and send. They get an email link; when they sign up with that address, their seat activates and they get the plan's daily allowance, their own, across the terminal, their API keys and MCP.
- 2
Invitations expire after 7 days
An unaccepted invitation lapses after seven days and releases the seat it was holding. An expired address can simply be re-invited — the lapsed invitation is replaced.
- 3
Remove a teammate
Removing someone frees their seat immediately and drops their access to the free tier. Their Modan account survives — their keys, watchlists and alerts remain, at free-tier limits.
- 4
Leaving a team yourself
A member can leave without asking anyone: Account → Subscription → Leave this team. The seat goes back to the team and your account drops to the free tier at the same moment.
Managing billing and subscription changes
Cards, invoices, upgrades, downgrades and cancellation — all self-service from the Account tab.
- 1
The billing portal
Account → Subscription → Manage Billing opens your Stripe billing portal: update the card, download invoices, and cancel. Changes made there sync back to Modan automatically.
- 2
Upgrading
Upgrade from the pricing page, or from the upgrade prompts in the terminal. A new plan takes effect immediately, and your daily allowance rises the moment payment completes.
- 3
Cancelling
Cancel in the billing portal. You keep full access until the end of the period you've paid for; after that the subscription ends and every key on the account returns to the Free plan's limits and provider types automatically. Nothing is deleted — data, keys and alerts all remain.
- 4
Seat changes and proration
Adding a seat mid-cycle invoices the prorated difference immediately; removing one credits it. Your seat count and plan stay in sync even when a change is made from the Stripe side.
Creating and using developer keys
API keys live in the terminal's API Keys tab. One header, JSON responses, honest freshness labels.
- 1
Your first key is already there
Signing up mints a free API key automatically — open API Keys → My Keys at modan.io/app/api to see it, create more, or revoke one. A revoked key stops working immediately.
- 2
Authenticate with one header
Send the key as
X-API-Keyagainsthttps://modan.io/api/v1— for exampleGET /api/v1/rates?from=GBP&to=NGN. Addprovider_typeto see one kind of provider, such as&provider_type=imtofor money-transfer operators or&provider_type=imto,fintech_pspfor those and fintechs; leave it out for every type your plan includes (see which types each plan includes). Full endpoint reference, parameters and code samples live at modan.io/docs/api. - 3
Know your allowance
Every response carries
X-RateLimit-Limit,X-RateLimit-RemainingandX-RateLimit-Resetheaders, and adata_freshnessfield that tells you whether the rate ishourlyorrealtime. Each quote from/rates,/convertand/rates/provideralso carrieslast_checkedand astaleflag,truewhen it has not been checked for 24 hours; a stale quote is never returned as the best. One daily allowance covers all your keys, your MCP tool calls and the corridors you load in the terminal: Free 25 / Pro 250 / Max 5,000 per person per UTC day. - 4
AI agents can call Modan natively
The MCP server at
https://modan.io/api/mcpexposes the same data as tools for Claude, Cursor and any MCP client, using the same key and the same daily allowance.
Free-tier limits and upgrading
What happens when you hit the free allowance, and exactly how to get more.
- 1
The free allowance
25 a day, shared by the terminal, the API and MCP: each corridor you load, each API request and each MCP tool call uses one. It resets at midnight UTC. Signed out, a visitor can load 5 corridors a day.
- 2
What counts in the terminal and on corridor pages
A corridor load is only ever counted when it comes back with rates — a lookup that returns none costs nothing. In the terminal, the first time you choose a corridor in a visit counts; the corridor the terminal opens on does not, and neither does coming back to a corridor you have already looked at, sorting, filtering or opening the inspector. On a corridor page, reloading the page or pressing refresh fetches the rates again and counts again.
- 3
What hitting the limit looks like
Once the day's allowance is used, the next API request or tool call returns
429 Rate limit exceededwith the limit and the reset time in the body and headers — your integration can back off cleanly. Suppose you spend the whole Free allowance through the API: API request 26 returns429. We also email you (once per day, not per request) so a quiet script doesn't fail silently overnight. In the terminal, the header counts your allowance down through the day, and running out opens a notice once that you can close with the X, Esc or a click outside. After that only the corridor you asked for is held back, with the time until the reset; Account, API Keys and the corridors you have already looked at keep working, and a lookup that is refused costs nothing. - 4
Getting more
Upgrade at modan.io/pricing: Pro adds every provider type and raises you to 250 a day for $99 per seat per month; Max raises you to 5,000 a day, with real-time API data, at $299 per seat per month. The new allowance and provider types apply to the terminal and your existing keys the moment checkout completes — no new key needed.
Still stuck?
For the market itself — what the official and parallel naira rates mean, how spread is measured, how remittance providers price — see the guides.
Email support@modan.io and a human will get back to you. For integration detail, the API reference covers every endpoint.