Pares de moedas explicados: pares maiores, menores e exóticos (guia para desenvolvedores)
Se você está construindo qualquer coisa que envolva dinheiro internacional — um checkout, um dashboard de fintech, um robô de trading, uma ferramenta de tesouraria, ou até um simples conversor de moedas — vai esbarrar no conceito de pares de moedas na primeira hora de trabalho. Pares são a unidade de medida no mercado cambial (FX): uma moeda não tem preço por si só, apenas em relação a outra moeda. Entender como os pares são classificados, cotados e tratados em código é a base para qualquer outra funcionalidade de FX que você venha a construir.
Este guia explica os pares de moedas maiores, menores e exóticos sob a ótica do desenvolvedor. Vamos cobrir o que cada categoria significa, as convenções que você precisa respeitar ao ler ou escrever strings de pares, e os padrões práticos para buscar, normalizar e calcular pares por meio da documentação da API da Finexly. Ao final, você saberá quais pares apoiar primeiro, como tratar os casos de borda e como puxar taxas em tempo real com poucas linhas de código.
O que é um par de moedas?
Um par de moedas é uma cotação que expressa o preço de uma moeda em termos de outra. Sempre é escrito com dois códigos ISO 4217 — por exemplo EUR/USD ou EURUSD — e um único preço decimal.
A primeira moeda do par é a moeda base. A segunda é a moeda cotada (às vezes chamada de moeda contraparte). O preço diz quantas unidades da moeda cotada são necessárias para comprar uma unidade da base.
Então EUR/USD = 1,0850 significa que um euro vale 1,0850 dólares americanos. Se a cotação subir para 1,0900, o euro se fortaleceu contra o dólar. Se cair para 1,0800, o euro se enfraqueceu. A moeda base é "o que está sendo precificado" e a cotada é "o dinheiro com que se paga".
É uma convenção simples, mas que tropeça quase todo desenvolvedor pelo menos uma vez. Se você guardar taxas sem rastrear consistentemente qual lado é a base e qual é a cotada, mais cedo ou mais tarde vai inverter um número e cobrar a mais ou a menos sem perceber. Vamos ver como evitar isso na seção de código. Para um aprofundamento sobre o que move o preço em si, veja nosso guia sobre como funcionam as taxas de câmbio.
O mercado FX global movimenta cerca de US$ 7,5 trilhões por dia, segundo a pesquisa trienal do Banco de Compensações Internacionais, sendo o maior mercado financeiro do mundo. Essa liquidez não é distribuída uniformemente entre os pares — a maior parte se concentra em um pequeno grupo chamado de pares maiores.
Pares de moedas maiores
Os pares maiores são os mais negociados do mundo. Não há uma definição oficial única, mas, na prática, todo par maior tem duas propriedades: inclui o dólar americano (USD) de um lado, e do outro uma moeda de uma economia grande, estável e desenvolvida.
São sete os pares praticamente universais como maiores:
EUR/USD— Euro / Dólar americanoUSD/JPY— Dólar americano / Iene japonêsGBP/USD— Libra esterlina / Dólar americanoUSD/CHF— Dólar americano / Franco suíçoAUD/USD— Dólar australiano / Dólar americanoUSD/CAD— Dólar americano / Dólar canadenseNZD/USD— Dólar neozelandês / Dólar americano
Juntos, os maiores respondem por aproximadamente 75% do volume FX global, com EUR/USD sozinho sendo cerca de um quarto de todo o volume. Essa concentração tem consequências diretas para o que você constrói:
- Spreads mais apertados. A diferença entre o bid (o que os compradores pagam) e o ask (o que os vendedores pedem) é a menor nos maiores. Se você exibe taxas a usuários finais, isso significa a menor diferença entre a taxa mid-market e o que eles vão receber de fato.
- Maior frequência de atualização. Dados tick a tick nos maiores chegam várias vezes por segundo em horário de mercado. Pares menores e exóticos atualizam de forma mais esparsa.
- Históricos mais confiáveis. Para backtesting, analytics ou gráficos, os maiores terão os históricos mais limpos, longos e sem lacunas.
- Menor custo de API por resposta útil. Como um par maior frequentemente serve como bloco para construir dezenas de outras taxas (via cálculo de taxa cruzada), você pode atender um produto global cacheando agressivamente os maiores e derivando o resto.
Aqui está um exemplo mínimo para puxar os sete maiores da Finexly em uma só requisição:
// 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, ... }Note que pedimos base=USD e recebemos as taxas para cada símbolo em termos de USD. Para obter a direção convencional do par (por exemplo EUR/USD em vez de USD/EUR), pode ser necessário inverter. Cobrimos esse padrão na seção de código.
Pares menores (cruzados)
Os pares menores, também chamados de cruzes ou pares cruzados, são pares de duas moedas maiores que não incluem o dólar americano. O nome "cruz" vem do fato de que historicamente esses pares precisavam ser calculados "cruzando" dois pares com USD — por exemplo, derivando EUR/GBP a partir de EUR/USD e GBP/USD. Hoje a maioria das APIs e corretoras cota esses pares diretamente, mas a matemática subjacente continua útil.
Pares menores comuns:
EUR/GBP— Euro / Libra esterlinaEUR/JPY— Euro / Iene japonêsEUR/CHF— Euro / Franco suíçoGBP/JPY— Libra esterlina / Iene japonêsAUD/JPY— Dólar australiano / Iene japonêsCHF/JPY— Franco suíço / Iene japonêsEUR/AUD— Euro / Dólar australianoGBP/CAD— Libra esterlina / Dólar canadense
Os cruzados ainda têm forte liquidez — especialmente os cruzados com EUR e JPY — mas os spreads tendem a ser mais largos do que nos sete maiores e a volatilidade intradiária costuma ser maior. GBP/JPY, por exemplo, é famoso entre traders por se mover de forma agressiva, sendo apelidado de "o dragão".
Para desenvolvedores, a implicação prática é não assumir um markup nível-exótico ou uma cadência de atualização nível-exótico em todo par não-USD. Os cruzados ficam no meio: liquidez suficiente para quase qualquer produto B2C ou B2B, mas não o spread tão fino do EUR/USD.
Se seu provedor não cota um cruzado específico diretamente, você sempre pode derivá-lo das duas pernas USD:
# 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É exatamente o que a maioria dos motores de taxas faz por baixo dos panos. A Finexly retorna cruzados diretamente pelo endpoint do conversor de moedas, mas vale ter essa matemática na ponta da língua: ela permite verificar qualquer taxa e fazer fallback elegante caso um par específico esteja faltando no feed.
Pares de moedas exóticos
Pares exóticos combinam uma moeda maior (geralmente USD ou EUR) com a moeda de uma economia menor, emergente ou menos líquida. Exemplos:
USD/TRY— Dólar americano / Lira turcaUSD/MXN— Dólar americano / Peso mexicanoUSD/ZAR— Dólar americano / Rand sul-africanoUSD/BRL— Dólar americano / Real brasileiroUSD/INR— Dólar americano / Rúpia indianaUSD/THB— Dólar americano / Baht tailandêsEUR/PLN— Euro / Zloty polonêsEUR/HUF— Euro / Forint húngaroUSD/SGD— Dólar americano / Dólar de SingapuraUSD/HKD— Dólar americano / Dólar de Hong Kong
A linha entre "menor" e "exótico" é cinzenta — USD/SGD e USD/HKD às vezes são classificados como menores por suas economias serem altamente desenvolvidas, enquanto USD/CNH (yuan offshore) às vezes é classificado como maior pelo volume de comércio. A categoria importa menos do que as características, que afetam diretamente seu código:
- Spreads mais largos. A diferença entre bid e ask pode ser 5–20× maior do que num par maior.
- Liquidez menor fora de horário. Muitos exóticos negociam com pouca liquidez fora do horário do mercado local, então taxas de fim de semana ou madrugada podem estar desatualizadas ou pular.
- Maior sensibilidade a notícias. Moedas exóticas se movem com força ante notícias políticas locais, decisões de banco central e anúncios de controle de capital. Veja nosso aprofundamento sobre como eventos geopolíticos afetam taxas de câmbio.
- Saltos de taxa mais frequentes. Um par como
USD/TRYpode saltar vários pontos percentuais em um fim de semana ou após uma decisão de juros. Se sua lógica de cobrança ou pricing não tratar isso, pode acabar mostrando uma taxa velha ao usuário por uma hora após um movimento grande. - Moedas atreladas ou administradas. Alguns pares "exóticos" mal se mexem porque o banco central intervém —
USD/HKDé o exemplo clássico, mantido em uma faixa estreita. Seus gráficos parecerão quase planos, o que é correto, não bug nos dados.
Se seu produto atende mercados emergentes, não trate exóticos como nota de rodapé — é onde costuma morar a maior dor de pricing. Temos um guia separado sobre como lidar com volatilidade de moedas em 2026 que vai mais fundo nos padrões operacionais.
Cotações diretas, indiretas e inversas
Além de maior/menor/exótico, há mais um pedaço de vocabulário que todo desenvolvedor precisa: a diferença entre cotações diretas e indiretas.
Uma cotação direta expressa a moeda estrangeira em unidades da moeda local. Da perspectiva americana, USD/EUR = 0,92 é uma cotação direta — diz ao usuário americano que um dólar compra 0,92 euros. Uma cotação indireta inverte isso: EUR/USD = 1,0850 é uma cotação direta da Europa e indireta dos EUA.
A cotação convencional do mercado FX segue regras históricas de "ranking", e não a perspectiva do usuário:
EURé sempre a base quando emparelhado com qualquer outra coisa.GBPé a base, exceto contraEUR.AUDeNZDsão a base contra a maioria, excetoEUReGBP.USDé a base contra a maioria, exceto as quatro acima.JPYé quase sempre a moeda cotada.
Por isso EUR/USD, GBP/USD, AUD/USD, USD/JPY, USD/CHF são as direções convencionais — nunca USD/EUR. Se seu provedor retorna USD/EUR, isso é sinal de que ele está retornando todas as taxas com USD como base, e cabe a você inverter o par ao exibi-lo a traders ou profissionais financeiros que esperam a direção convencional.
Inverter é matemática simples, mas fácil de errar:
// 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 }Se você só exibe preços a usuários finais que não se importam com convenção de mercado, pode pular isso e cotar tudo a partir da moeda local. Mas se seus usuários são profissionais — traders, tesoureiros, contadores — acertar a direção é um sinal de credibilidade.
Como tratar pares de moedas em código
É aqui que mora a maior parte dos bugs. Estes são os padrões que recomendamos, destilados de milhares de integrações de API.
1. Use sempre códigos ISO 4217 internamente
Nunca guarde identificadores de moeda como símbolos ($, €, ¥) ou nomes ("dólar"). Guarde-os como os códigos de três letras ISO 4217: USD, EUR, JPY. Símbolos são ambíguos (o $ é usado por mais de 20 moedas) e nomes são localizados. Códigos ISO são inequívocos e neutros em relação ao idioma.
2. Normalize strings de par na borda
Você verá pares escritos como EURUSD, EUR/USD, EUR-USD, EUR_USD e eur/usd. Escolha uma representação interna e normalize na borda do sistema:
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' }Internamente, prefira a forma estruturada ({ base, quote }) à string. Strings são para logs e APIs; dados estruturados são para código.
3. Converta entre quaisquer duas moedas via um pivô
Se você cacheia taxas com uma única base (USD é o convencional), pode calcular qualquer par em tempo real:
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.31Esse padrão permite suportar 170+ moedas com um único cache quente de taxas "USD vs todas". O endpoint /v1/latest?base=USD da Finexly retorna exatamente esse formato.
4. Trate precisão decimal corretamente
Pares de moedas usam diferentes níveis convencionais de precisão: a maioria dos maiores cota com 4 ou 5 casas decimais (1.08503), enquanto pares com JPY cotam com 2 ou 3 (154.32). Moedas como o dong vietnamita não têm subunidades. Sempre guarde taxas em tipos Decimal / BigDecimal — nunca floats — ao calcular valores que tocam o saldo de um usuário. Detalhamos as armadilhas no nosso tutorial de Currency API em Python.
5. Cacheie com cabeça, não com força bruta
Pares maiores quase não se mexem de um segundo para o outro em mercados calmos, então você pode cacheá-los por 30–60 segundos sem que ninguém perceba. Exóticos podem precisar de TTLs mais curtos perto de notícias programadas. Nosso guia de caching e tratamento de erros descreve uma estratégia de cache em camadas que funciona para os dois.
Erros comuns a evitar
Uma lista curta de coisas que já queimaram times reais:
- Guardar a taxa sem a direção do par. "1,0850" não significa nada sem saber se é
EUR/USDouUSD/EUR. - Misturar cotação na perspectiva do usuário e do mercado na mesma UI. Escolha uma e rotule com clareza.
- Tratar taxas de fim de semana como ao vivo. Mercados FX fecham de sexta às 17h EST até domingo às 17h EST. A taxa que você serve sábado de manhã é o fechamento de sexta — ok para a maioria das apps, perigoso para qualquer execução. Veja horários do mercado forex.
- Hardcodar uma lista de "pares suportados". Use o endpoint
symbolsda API como fonte da verdade. Novas moedas aparecem (e raramente desaparecem) ao longo do tempo. - Arredondar cedo demais. Arredonde na hora de exibir, não no cálculo. Uma taxa mid-market de quatro casas multiplicada por um valor pequeno pode perder precisão significativa se for arredondada no meio do pipeline.
Perguntas frequentes
Quantos pares de moedas existem no total? Com cerca de 180 moedas nacionais ativamente negociadas, o total teórico de pares únicos é ~16.000 (180 × 179 / 2). Na prática só algumas centenas têm liquidez relevante, e a maioria das APIs — incluindo a Finexly — expõe 170+ moedas, o que dá ~14.000 pares deriváveis. A maioria dos produtos só precisa suportar de 20 a 50 na UI.
Qual é o par de moedas mais negociado do mundo?
EUR/USD é o mais negociado, respondendo por cerca de 22–24% do volume diário de forex. USD/JPY e GBP/USD vêm em seguida.
USD/EUR é o mesmo que EUR/USD?
Não. Os números são inversos matemáticos (USD/EUR = 1 / EUR/USD), mas são cotações diferentes. A notação convencional é EUR/USD. Se você exibe USD/EUR para um profissional financeiro, ele vai assumir que algo está errado.
Por que pares exóticos são mais arriscados? Pares exóticos se apoiam em mercados menos líquidos, o que significa spreads mais largos, gaps maiores após notícias, mais sensibilidade a eventos políticos locais e, às vezes, controles de capital ou intervenção do banco central. Nada disso os torna inutilizáveis — só significa que seu código não pode assumir "spread pequeno, fluxo suave de ticks" como pode com os maiores.
Preciso de um plano de API diferente para pares exóticos? Não com a Finexly. As 170+ moedas — maiores, menores e exóticas — estão disponíveis em todos os planos, inclusive o gratuito. A diferença entre planos é volume de chamadas, frequência de atualização e profundidade de histórico, não cobertura de pares. Compare detalhes na página de planos de preço.
Com que frequência devo atualizar taxas de câmbio? Para a maior parte dos casos (exibição em e-commerce, faturamento, relatórios): a cada 5–15 minutos é suficiente. Para trading ativo ou hedge: a cada poucos segundos, ou consuma um feed. Para fechamento contábil: um snapshot único de fim de dia é o correto.
Comece com dados de pares de moedas em tempo real
Pares de moedas são a língua do FX. Uma vez que você tem um modelo mental claro de maior / menor / exótico e um conjunto enxuto de helpers de normalização no código, qualquer outra funcionalidade de FX que construir — conversores, checkout multi-moeda, billing SaaS, relatórios — fica drasticamente mais fácil.
Pronto para plugar taxas em tempo real no seu projeto? Crie uma conta grátis e tenha uma API key da Finexly em menos de um minuto, sem cartão de crédito. Você ganha 1.000 requisições por mês grátis, acesso a todas as 170+ moedas e as mesmas taxas mid-market usadas por produtos profissionais de fintech. Quando ultrapassar o plano gratuito, nossos planos pagos começam num preço amigável para projetos indie e escalam até volume corporativo.
Se quiser comparar opções primeiro, veja nosso panorama do melhor API conversor de moedas para 2026.
Explore More
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 →