Local payments are here. Pay like a local from your Altitude balance in the UK, Mexico, Brazil, and ColombiaLocal payments are live. Learn more

Free finance tools for AI agents

Convert currencies, look up exchange rates, validate IBANs, SWIFT codes and US routing numbers, and find any bank's SWIFT code and address. Free for any AI agent to use for anyone's payments: no key, no sign-up, no install.

Three ways in

In the browser (WebMCP)Every tool page on this site offers the tools below to an agent built into the visitor’s browser. Nothing to install.
Any agent (JSON API)Plain GET or POST requests, described in the OpenAPI document. No key.
ChatGPT, Claude, Cursor (MCP)Add https://altitude.xyz/mcp as a remote MCP server: streamable HTTP, no authentication. The general tools below, except IBAN validation, which stays in the browser.

Results are JSON: the answer, plus its source and a link to the page for a person to check. Keep that attribution when you show a result. Fair use is set out in the API terms.

Convert currency

convertCurrency. Convert an amount between two supported currencies (fiat, or USDC at its 1:1 USD peg) at the latest mid-market rate. Pairs without USD are derived from the two USD rates. For a pair Altitude converts, `altitude` gives Altitude's markup over mid-market, its all-in rate and the amount after it. One pair per call. Rates are indicative, not a quote. Use it on the page.

amountAmount in the `from` currency.
fromISO code to convert from, e.g. USD.
toISO code to convert to, e.g. MXN.
GET https://altitude.xyz/api/tools/convertCurrency?amount=1000&from=USD&to=MXN

Get an exchange rate

getExchangeRate. The latest mid-market exchange rate for one currency pair, with its timestamp and source. Pairs without USD are derived from the two USD rates. For a pair Altitude converts, `altitude` gives Altitude's markup over mid-market and its all-in rate. One pair per call. Indicative, not a quote. Use it on the page.

fromBase currency ISO code, e.g. EUR.
toQuote currency ISO code, e.g. BRL.
GET https://altitude.xyz/api/tools/getExchangeRate?from=EUR&to=BRL

Validate an IBAN

validateIban. Check an IBAN's country format, length and check digits, and split it into bank code and account number. Returns the bank's BIC where the national directory is available (AT, BE, DE, ES, FR, LU, NL). A valid IBAN is not proof the account exists. Use it on the page.

ibanThe IBAN, with or without spaces.
POST https://altitude.xyz/api/tools/validateIban
{"iban":"DE89370400440532013000"}

Validate a US routing number

validateRoutingNumber. Check a nine-digit ABA routing number's Federal Reserve prefix and checksum, and name the bank when it's one of the ~75 major US banks whose own published numbers are on file. A valid number can still be unassigned. Use it on the page.

routingNumberNine-digit ABA routing number.
GET https://altitude.xyz/api/tools/validateRoutingNumber?routingNumber=021000021

Validate a SWIFT/BIC code

validateSwiftCode. Check a SWIFT/BIC code's structure, break it into institution, country, location and branch, and look it up in SWIFT's BIC-to-LEI directory (as published by GLEIF): the institution's legal name, the registered address of the legal entity (not a branch's address), LEI and page. The result's `source` carries the directory's date and SWIFT's licence notice, which must accompany the data. The directory covers institutions with an LEI, so a valid code can be missing from it; confirm branch details with the bank. Use it on the page.

code8- or 11-character SWIFT/BIC code.
GET https://altitude.xyz/api/tools/validateSwiftCode?code=CHASUS33XXX

Find a bank's SWIFT/BIC code

searchSwiftBanks. Search banks and financial institutions by name, optionally in one country, and get their head-office SWIFT/BIC codes with city, country and page. Use it when you know the bank's name but not its code; use validateSwiftCode when you have a code. Every word must start a word of the bank's name, city, state or country ("first national omaha"). Covers institutions in SWIFT's BIC-to-LEI directory (as published by GLEIF), so no match doesn't prove a bank has no code. `match` is "none", "one" or "several": when several banks match, ask which one rather than picking the first. The result's `source` carries the directory's date and SWIFT's licence notice, which must accompany the data. Use it on the page.

queryBank name, or part of it, optionally with a city or state, e.g. "barclays" or "banorte".
country (optional)Optional two-letter ISO country code to search within, e.g. MX.
GET https://altitude.xyz/api/tools/searchSwiftBanks?query=banorte&country=MX

Frequently
asked questions

Still got questions?
Reach out to our team.

Get in touch

No. Every tool is free to call with no key, no sign-up and no install, within per-IP rate limits and the fair-use terms.

A draft web standard that lets a page offer tools to an AI agent built into the visitor's browser, so the agent calls a function instead of filling in forms. Every tool page on this site offers the tools that way. It needs a browser with WebMCP support, which is still new.

Yes. Add https://altitude.xyz/mcp as a remote MCP server (streamable HTTP, no authentication). In ChatGPT that is a custom connector in developer mode; in Claude, a custom connector; in Cursor, an entry in mcp.json. Any agent that can fetch a URL can also call the JSON API directly.

Per IP address: 30 requests a minute and 500 a day for the exchange-rate tools, and 60 a minute and 2000 a day for the rest. One pair, date or code per call.

Exchange rates from a market-data provider, SWIFT codes from SWIFT's BIC-to-LEI directory as GLEIF publishes it, and US routing numbers from each bank's own site. Every result carries its source and a link to the page for a person to check.

Pay globally,
from one account.

USD and EUR accounts, global payments, and corporate cards in one global business account.

Book a demo