Terug naar Blog

Valutaparen uitgelegd: majors, minors en exotics (developer-gids)

V
Vlado Grigirov
April 26, 2026
Currency API Exchange Rates Forex Currency Pairs Developer Guide Finexly Education

Valutaparen uitgelegd: majors, minors en exotics (developer-gids)

Als je iets bouwt dat met internationaal geld te maken heeft — een checkout, een fintech-dashboard, een trading-bot, een treasury-tool of zelfs een simpele valuta-converter — kom je het concept valutaparen binnen het eerste uur tegen. Paren zijn de meeteenheid van de FX-markt: een valuta heeft op zichzelf geen prijs, alleen ten opzichte van een andere valuta. Begrijpen hoe paren worden geclassificeerd, gequoteerd en in code worden afgehandeld is de basis voor elke andere FX-feature die je gaat bouwen.

Deze gids legt major-, minor- en exotische valutaparen uit vanuit developer-perspectief. We behandelen wat elke categorie betekent, de conventies die je moet respecteren bij het lezen of schrijven van paar-strings, en de praktische patronen om paren op te halen, te normaliseren en te berekenen via de Finexly API-documentatie. Aan het einde weet je welke paren je als eerste moet ondersteunen, hoe je edge cases aanpakt, en hoe je live koersen ophaalt met een paar regels code.


Wat is een valutapaar?

Een valutapaar is een notering die de prijs van één valuta uitdrukt in eenheden van een andere. Het wordt altijd geschreven met twee ISO 4217-codes — bijvoorbeeld EUR/USD of EURUSD — en één decimale prijs.

De eerste valuta in het paar is de basisvaluta. De tweede is de noteringsvaluta (soms tegenpartijvaluta genoemd). De prijs vertelt hoeveel eenheden van de noteringsvaluta nodig zijn om één eenheid van de basis te kopen.

Dus EUR/USD = 1,0850 betekent dat één euro 1,0850 Amerikaanse dollar waard is. Stijgt de notering naar 1,0900, dan is de euro sterker geworden t.o.v. de dollar. Daalt hij naar 1,0800, dan is de euro verzwakt. De basisvaluta is "datgene wat geprijsd wordt", de noteringsvaluta is "het geld waarmee je betaalt".

Een simpele conventie, maar bijna iedere developer struikelt er minstens één keer over. Als je koersen opslaat zonder consistent bij te houden welke kant de basis is en welke de notering, draai je vroeg of laat een getal om en bereken je stiekem te veel of te weinig aan een gebruiker. Hoe je dat voorkomt, behandelen we hieronder. Voor een dieper inzicht in wat de prijs zelf beweegt: lees onze gids over hoe wisselkoersen werken.

De wereldwijde FX-markt verhandelt volgens het driejaarlijkse onderzoek van de Bank for International Settlements zo'n 7,5 biljoen dollar per dag en is daarmee de grootste financiële markt ter wereld. Die liquiditeit is niet gelijkmatig over de paren verdeeld — het grootste deel concentreert zich in een kleine groep, de major-paren.


Major-valutaparen

Major-paren zijn de meest verhandelde valutaparen ter wereld. Er is geen unieke officiële definitie, maar in de praktijk hebben alle majors twee eigenschappen: de Amerikaanse dollar (USD) zit aan één zijde, en aan de andere zijde een valuta uit een grote, stabiele, ontwikkelde economie.

Zeven paren worden vrijwel universeel als major erkend:

  • EUR/USD — Euro / Amerikaanse dollar
  • USD/JPY — Amerikaanse dollar / Japanse yen
  • GBP/USD — Britse pond / Amerikaanse dollar
  • USD/CHF — Amerikaanse dollar / Zwitserse frank
  • AUD/USD — Australische dollar / Amerikaanse dollar
  • USD/CAD — Amerikaanse dollar / Canadese dollar
  • NZD/USD — Nieuw-Zeelandse dollar / Amerikaanse dollar

Samen zijn de majors goed voor ongeveer 75% van het wereldwijde FX-volume, met EUR/USD alleen al goed voor ongeveer een kwart van alle handel. Die concentratie heeft directe gevolgen voor wat je bouwt:

  • Smalste spreads. Het verschil tussen bid (wat kopers betalen) en ask (wat verkopers vragen) is op majors het kleinst. Voor eindgebruikers betekent dit het kleinste verschil tussen de mid-market koers en wat ze daadwerkelijk ontvangen.
  • Hoogste updatefrequentie. Tickdata op majors komt tijdens markturen vele keren per seconde binnen. Minors en exotics updaten sporadischer.
  • Meest betrouwbare historische data. Voor backtesting, analytics of charting hebben majors de schoonste, langste, naadloze histories.
  • Laagste API-kosten per nuttig antwoord. Omdat één major-paar vaak als bouwblok dient voor tientallen andere koersen (via cross-rate berekening), kun je een wereldwijd product bedienen door majors agressief te cachen en de rest af te leiden.

Een minimaal voorbeeld om de zeven majors in één request van Finexly op te halen:

// Fetch all major pairs vs USD in a single call
const symbols = ['EUR', 'JPY', 'GBP', 'CHF', 'AUD', 'CAD', 'NZD'];

const response = await fetch(
  `https://api.finexly.com/v1/latest?base=USD&symbols=${symbols.join(',')}`,
  { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);

const data = await response.json();
console.log(data.rates);
// { EUR: 0.9217, JPY: 154.32, GBP: 0.7891, CHF: 0.8843, ... }

Merk op dat we base=USD vragen en koersen voor elk symbool in USD-termen terugkrijgen. Voor de conventionele paar-richting (bijvoorbeeld EUR/USD in plaats van USD/EUR) moet je mogelijk inverteren. Dat patroon behandelen we in de codesectie.


Minor (cross) valutaparen

Minor-paren, ook crosses of cross-currency-paren genoemd, zijn paren van twee major-valuta's die de Amerikaanse dollar niet bevatten. De naam "cross" stamt uit de tijd dat deze paren door het "kruisen" van twee USD-paren moesten worden berekend — bijvoorbeeld EUR/GBP afleiden uit EUR/USD en GBP/USD. Tegenwoordig quoteren de meeste API's en brokers crosses direct, maar de onderliggende wiskunde blijft handig.

Veelvoorkomende minors:

  • EUR/GBP — Euro / Britse pond
  • EUR/JPY — Euro / Japanse yen
  • EUR/CHF — Euro / Zwitserse frank
  • GBP/JPY — Britse pond / Japanse yen
  • AUD/JPY — Australische dollar / Japanse yen
  • CHF/JPY — Zwitserse frank / Japanse yen
  • EUR/AUD — Euro / Australische dollar
  • GBP/CAD — Britse pond / Canadese dollar

Crosses hebben nog steeds sterke liquiditeit — vooral EUR- en JPY-crosses — maar de spreads zijn gewoonlijk breder dan op de zeven majors en de intraday-volatiliteit is vaak hoger. GBP/JPY staat onder traders bekend om zijn agressieve bewegingen en wordt daarom soms "de draak" genoemd.

Voor developers betekent dit praktisch dat je niet bij elk niet-USD-paar een exotic-niveau opslag of update-cadans moet veronderstellen. Crosses zitten ertussenin: meer dan voldoende liquiditeit voor vrijwel elk B2C- of B2B-product, maar niet zo strak als EUR/USD.

Als je provider een specifieke cross niet direct quoteert, kun je hem altijd afleiden uit de twee USD-poten:

# Derive EUR/GBP from EUR/USD and GBP/USD
eur_usd = 1.0850   # 1 EUR = 1.0850 USD
gbp_usd = 1.2680   # 1 GBP = 1.2680 USD

# 1 EUR = (eur_usd / gbp_usd) GBP
eur_gbp = eur_usd / gbp_usd
print(f"EUR/GBP = {eur_gbp:.4f}")  # EUR/GBP = 0.8557

Dat is precies wat de meeste rate-engines achter de schermen doen. Finexly geeft crosses direct terug via het valuta-converter-endpoint, maar deze wiskunde paraat hebben is goud waard: je kunt elke koers snel verifiëren en elegant terugvallen als een paar uit een feed ontbreekt.


Exotische valutaparen

Exotische paren combineren een major-valuta (meestal USD of EUR) met de valuta van een kleinere, opkomende of minder liquide economie. Voorbeelden:

  • USD/TRY — Amerikaanse dollar / Turkse lira
  • USD/MXN — Amerikaanse dollar / Mexicaanse peso
  • USD/ZAR — Amerikaanse dollar / Zuid-Afrikaanse rand
  • USD/BRL — Amerikaanse dollar / Braziliaanse real
  • USD/INR — Amerikaanse dollar / Indiase roepie
  • USD/THB — Amerikaanse dollar / Thaise baht
  • EUR/PLN — Euro / Poolse zloty
  • EUR/HUF — Euro / Hongaarse forint
  • USD/SGD — Amerikaanse dollar / Singaporese dollar
  • USD/HKD — Amerikaanse dollar / Hongkongse dollar

De grens tussen "minor" en "exotisch" is vaag — USD/SGD en USD/HKD worden soms als minor geclassificeerd omdat hun economieën sterk ontwikkeld zijn, terwijl USD/CNH (offshore yuan) door zijn handelsvolume soms als major wordt gezien. De categorie doet er minder toe dan de eigenschappen, en die raken je code direct:

  • Bredere spreads. Het bid-ask-verschil kan 5–20× breder zijn dan op een major.
  • Lagere liquiditeit buiten de werktijden. Veel exotics worden buiten de openingstijden van de lokale markt dun verhandeld; weekend- of nachtkoersen kunnen verouderd zijn of springen.
  • Hogere gevoeligheid voor nieuws. Exotische valuta's bewegen sterk op lokaal politiek nieuws, beslissingen van centrale banken en aankondigingen van kapitaalcontroles. Lees onze diepteanalyse hoe geopolitieke gebeurtenissen valutawisselkoersen beïnvloeden.
  • Vaker koersgaten. Een paar als USD/TRY kan tijdens een weekend of na één rentebesluit meerdere procentpunten springen. Houdt je facturatie- of pricing-logica daar geen rekening mee, dan toon je een gebruiker mogelijk een uur lang een verouderde koers na een grote beweging.
  • Gepegde of gemanagede valuta's. Sommige "exotische" paren bewegen nauwelijks omdat de centrale bank ingrijpt — USD/HKD is het klassieke voorbeeld, gehouden binnen een smalle band. Je grafieken zien er bijna vlak uit — dat klopt en is geen bug.

Bedient je product opkomende markten, behandel exotics dan niet als voetnoot — daar zit vaak de meeste prijspijn. We hebben een aparte gids over omgaan met valuta-volatiliteit in 2026 die de operationele patronen verder uitdiept.


Directe, indirecte en inverse noteringen

Naast major/minor/exotic is er nog een stuk vocabulaire dat elke developer moet kennen: het verschil tussen directe en indirecte noteringen.

Een directe notering drukt de buitenlandse valuta uit in eenheden van de lokale valuta. Vanuit Amerikaans perspectief is USD/EUR = 0,92 een directe notering — ze zegt de Amerikaanse gebruiker dat één dollar 0,92 euro koopt. Een indirecte notering keert dat om: EUR/USD = 1,0850 is direct vanuit Europees perspectief en indirect vanuit Amerikaans perspectief.

Conventionele FX-marktnoteringen volgen historische "rang"-regels, niet het gebruikersperspectief:

  • EUR is altijd basis bij elke andere valuta.
  • GBP is basis behalve tegen EUR.
  • AUD en NZD zijn basis tegen de meeste andere, behalve EUR en GBP.
  • USD is basis tegen de meeste andere, behalve de vier hierboven.
  • JPY is bijna altijd de noteringsvaluta.

Dus EUR/USD, GBP/USD, AUD/USD, USD/JPY, USD/CHF zijn de conventionele richtingen — nooit USD/EUR. Geeft jouw provider USD/EUR terug, dan is dat een teken dat hij alle koersen met USD als basis levert; aan jou de taak het paar om te draaien wanneer je het toont aan traders of finance-professionals die de conventionele richting verwachten.

Inverteren is simpele wiskunde, maar makkelijk fout te doen:

// Convert USD-based rate to conventional pair direction
function toConventionalQuote(base: string, quote: string, rate: number) {
  const usdBaseFirst = ['EUR', 'GBP', 'AUD', 'NZD'];
  // If the quote currency is "stronger" by convention, flip
  if (usdBaseFirst.includes(quote)) {
    return { pair: `${quote}/${base}`, rate: 1 / rate };
  }
  return { pair: `${base}/${quote}`, rate };
}

toConventionalQuote('USD', 'EUR', 0.9217);
// → { pair: 'EUR/USD', rate: 1.0850 }

Toon je prijzen alleen aan eindgebruikers die niets om de marktconventie geven, dan kun je dit overslaan en alles vanuit je thuisvaluta noteren. Bedien je professionals — traders, treasurers, accountants — dan is de juiste richting een teken van geloofwaardigheid.


Hoe je valutaparen in code afhandelt

Hier wonen de meeste bugs. Deze patronen raden we aan, gedestilleerd uit duizenden API-integraties.

1. Gebruik intern altijd ISO 4217-codes

Sla valuta-identifiers nooit op als symbolen ($, , ¥) of namen ("dollar"). Sla ze op als de driecijferige ISO 4217-codes: USD, EUR, JPY. Symbolen zijn meerduidig ($ wordt door 20+ valuta's gebruikt), namen zijn gelokaliseerd. ISO-codes zijn eenduidig en taalonafhankelijk.

2. Normaliseer paar-strings aan de rand

Je zult paren tegenkomen als EURUSD, EUR/USD, EUR-USD, EUR_USD en eur/usd. Kies één interne representatie en normaliseer aan de systeemgrens:

function normalizePair(input) {
  const cleaned = input.toUpperCase().replace(/[^A-Z]/g, '');
  if (cleaned.length !== 6) {
    throw new Error(`Invalid pair: ${input}`);
  }
  return {
    base: cleaned.slice(0, 3),
    quote: cleaned.slice(3, 6),
    canonical: `${cleaned.slice(0, 3)}/${cleaned.slice(3, 6)}`,
  };
}

normalizePair('eur-usd');
// → { base: 'EUR', quote: 'USD', canonical: 'EUR/USD' }

Geef intern de voorkeur aan de gestructureerde vorm ({ base, quote }) boven de string. Strings zijn voor logs en API's; gestructureerde data is voor code.

3. Converteer tussen elke twee valuta's via een spil

Cache je koersen met één basis (USD is conventioneel), dan kun je elk paar on-the-fly berekenen:

def convert(amount, source, target, rates_in_usd):
    """
    rates_in_usd: dict like {'EUR': 0.9217, 'GBP': 0.7891, ...}
    Each value is "1 USD = X units of currency"
    """
    if source == target:
        return amount
    if source == 'USD':
        return amount * rates_in_usd[target]
    if target == 'USD':
        return amount / rates_in_usd[source]
    # Pivot through USD
    amount_in_usd = amount / rates_in_usd[source]
    return amount_in_usd * rates_in_usd[target]

# Convert 100 EUR to JPY using USD-based rates
rates = {'EUR': 0.9217, 'JPY': 154.32}
print(convert(100, 'EUR', 'JPY', rates))  # 16,743.31

Met dit patroon ondersteun je 170+ valuta's met één hete cache van "USD vs alles". Het /v1/latest?base=USD-endpoint van Finexly geeft precies deze vorm terug.

4. Behandel decimale precisie correct

Valutaparen gebruiken verschillende conventionele precisieniveaus: de meeste majors quoten op 4 of 5 decimalen (1.08503), JPY-paren op 2 of 3 (154.32). Valuta's zoals de Vietnamese dong hebben geen subeenheden. Sla koersen altijd op in Decimal/BigDecimal-types — nooit floats — wanneer je bedragen berekent die het saldo van een gebruiker raken. De valkuilen leggen we uit in onze Python Currency API-tutorial.

5. Cache slim, niet ruw

Major-paren bewegen in rustige markten nauwelijks van seconde tot seconde, dus je kunt ze 30–60 seconden cachen zonder dat het opvalt. Exotics hebben rond geplande nieuwsmomenten kortere TTL's nodig. Onze caching- en error-handling-gids beschrijft een gelaagde cachestrategie die voor beide werkt.


Veelgemaakte fouten

Een korte lijst met dingen die echte teams hebben opgebrand:

  • Koersen opslaan zonder paar-richting. "1,0850" zegt niets zonder te weten of het EUR/USD of USD/EUR is.
  • Gebruikers- en marktperspectief mengen in dezelfde UI. Kies er één en label hem duidelijk.
  • Weekendkoersen als live behandelen. FX-markten zijn gesloten van vrijdag 17:00 EST tot zondag 17:00 EST. De koers die je zaterdagochtend serveert is de slotkoers van vrijdag — voor de meeste apps prima, voor elke executie gevaarlijk. Zie forex-handelstijden.
  • Een lijst "ondersteunde paren" hardcoderen. Gebruik het symbols-endpoint van de API als waarheidsbron. Nieuwe valuta's verschijnen (en verdwijnen zelden) na verloop van tijd.
  • Te vroeg afronden. Rond af op weergavemoment, niet tijdens berekeningen. Een vier-decimale mid-market-koers vermenigvuldigd met een klein bedrag kan betekenisvolle precisie verliezen als je halverwege de pipeline afrondt.

Veelgestelde vragen

Hoeveel valutaparen zijn er in totaal? Met ongeveer 180 actief verhandelde nationale valuta's is het theoretische aantal unieke paren ~16.000 (180 × 179 / 2). In de praktijk worden slechts enkele honderden met betekenisvolle liquiditeit verhandeld, en de meeste API's — Finexly inbegrepen — bieden 170+ valuta's, wat ~14.000 afleidbare paren oplevert. De meeste producten hoeven slechts 20–50 paren in hun UI te ondersteunen.

Wat is het meest verhandelde valutapaar ter wereld? EUR/USD is het meest verhandeld, goed voor ongeveer 22–24% van het dagelijkse forexvolume. USD/JPY en GBP/USD volgen.

Is USD/EUR hetzelfde als EUR/USD? Nee. De getallen zijn elkaars wiskundige inversen (USD/EUR = 1 / EUR/USD), maar het zijn andere noteringen. De conventionele marktnotatie is EUR/USD. Toon je USD/EUR aan een finance-professional, dan denkt die dat er iets mis is.

Waarom zijn exotische paren risicovoller? Exotische paren rusten op minder liquide markten, met als gevolg bredere spreads, grotere gaps na nieuws, hogere gevoeligheid voor lokale politieke gebeurtenissen en soms kapitaalcontroles of interventies door de centrale bank. Dat maakt ze niet onbruikbaar — het betekent alleen dat je code niet "kleine spread, vloeiende tickstroom" kan aannemen zoals bij majors.

Heb ik een ander API-plan nodig voor exotische paren? Bij Finexly niet. Alle 170+ valuta's — majors, minors en exotics — zijn beschikbaar in elk plan, inclusief het gratis plan. Het verschil tussen plannen zit in callvolume, refreshfrequentie en historische diepte, niet in paardekking. Vergelijk de details op de prijsplannen-pagina.

Hoe vaak moet ik wisselkoersen verversen? Voor de meeste use cases (e-commerce-weergave, facturatie, rapportage): elke 5–15 minuten is ruim voldoende. Voor actieve handel of hedging: elke paar seconden, of consume een feed. Voor periodeafsluiting in de boekhouding: één snapshot aan het einde van de dag is correct.


Ga aan de slag met live valutapaardata

Valutaparen zijn de taal van FX. Zodra je een helder mentaal model hebt van majors / minors / exotics en een nette set normalisatie-helpers in code, wordt elke andere FX-feature die je bouwt — converters, multi-valuta checkout, SaaS-billing, rapportage — drastisch eenvoudiger.

Klaar om live koersen aan je project te koppelen? Meld je gratis aan en krijg in minder dan een minuut een Finexly API-key — geen creditcard nodig. Je krijgt 1.000 requests per maand gratis, toegang tot alle 170+ valuta's en dezelfde mid-market-koersen die professionele fintech-producten gebruiken. Wanneer je het gratis plan ontgroeit, beginnen onze betaalde plannen bij een prijs die past bij indie-projecten en schalen tot enterprise-volume.

Wil je eerst opties vergelijken? Lees onze analyse van de beste currency converter API voor 2026.

Vlado Grigirov

Senior Currency Markets Analyst & Financial Strategist

Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...

View full profile →