Swap e Pares de Trading
Pré-requisitos de acesso
- Permissão (módulo):
manageToken - Licença/Feature:
MANAGE_TOKENS - Contêiner do menu: TOKENIZAÇÃO → grupo Tokenização → Gerenciar Tokens (ícones Swap e Pares de trading na linha / na barra de ações)
O que é / quando usar
Esta tela cobre duas configurações distintas ligadas à negociação de tokens:
- Swap automático — define com quais tokens um determinado token pode ser trocado diretamente (swap rápido, sem aprovação manual). Só fica disponível para tokens com Swap automático (
isAutomaticSwap) ligado. - Pares de trading — define os pares de mercado da exchange interna (book de ofertas): par base/cotação, tamanhos mínimo/máximo de ordem, precisão de preço/quantidade e taxa do par.
Pré-condições
- Permissão:
manageToken(dupla — enum CPM + módulo no DB). - Licença/Feature:
MANAGE_TOKENS. - Para Swap: o token e os tokens-par precisam ter Swap automático (
isAutomaticSwap = true). Tokens sem essa flag nem aparecem como opção. - Para Pares de trading: os tokens devem estar habilitados para compra e para a exchange (
buyable,operate_exchange/integrate_book).
Configuração de Swap
- Em Gerenciar Tokens, clique no ícone Swap na linha do token (só dispara se o token tiver swap automático).
- O modal lista os tokens disponíveis (apenas os com swap automático) e os pares já configurados.
- Adicione tokens para formar pares de swap ou remova os existentes.
- Clique em Salvar (
createOrUpdateSwapPairs).
| Campo | O que é | Efeito no sistema/backend |
|---|---|---|
| Token selecionado | Token cujos pares estão sendo editados | TokensPairs.id |
| Pares (lista) | Tokens com os quais o swap é permitido | pairs[] — cada item grava id, nome e imagem do token-par |
Configuração de Pares de Trading
Acessível pelo botão Pares de trading (rota /manage-tokens/trading-pairs, opcionalmente filtrada por tokenId). Lista os pares do token selecionado, com ações para criar, editar, ativar/desativar, definir como padrão e excluir.
| Campo (modal) | O que é | Efeito no sistema/backend |
|---|---|---|
| Token base | Token base do par | tokenId |
| Token de cotação | Token de cotação do par | pairTokenId |
| Habilitado | Liga/desliga o par no book | enabled |
| Padrão | Marca o par como o default do token | isDefault (via setDefaultPair) |
| Ordem de exibição | Posição do par na lista | displayOrder |
| Símbolo na exchange | Símbolo do par no provedor externo | exchangeSymbol |
| Tamanho mínimo / máximo de ordem | Limites de volume por ordem | minimumOrderSize / maximumOrderSize |
| Precisão de preço / quantidade | Casas decimais aceitas | pricePrecision / quantityPrecision |
| Taxa do par (%) | Taxa aplicada nas operações do par | feePercentage |
Ações e modais
- Adicionar/remover token no swap: manipula a lista local; só persiste ao salvar.
- Criar / Editar par: modal com os campos acima.
- Definir como padrão:
setDefaultPair. - Ativar/Desativar:
updateTradingPair({ enabled }). - Excluir par: confirma e remove (
deleteTradingPair).
Regras de negócio / cuidados
Atenção
- Swap e Pares de trading são mecanismos diferentes: swap é troca direta token↔token; pares de trading alimentam o book da exchange interna.
- Tokens sem Swap automático não podem formar pares de swap — ligue a flag na edição do token antes.
- Receita da casa (book): no OrderBook, o acerto (settlement) do vendedor usa o preço-limite da ordem (
order.price), não o preço de execução. O delta entre limite e execução é receita da casa — leve isso em conta ao analisar os números das ordens e taxas dos pares. - Valores financeiros: tamanhos de ordem, precisão e taxa são tratados com precisão (BigNumber) — sem arredondamento na configuração.
Exemplos
Cenário 1 — Habilitar swap entre uma stablecoin e dois tokens
- Garanta que
BSCUSDT,UST(Polygon) eBRZtenham Swap automático ligado. - Abra o Swap do
BSCUSDT. - Adicione
USTeBRZà lista de pares. - Salve. Resultado: usuários podem trocar
BSCUSDTdiretamente porUSTouBRZ.
Cenário 2 — Criar um par de mercado padrão na exchange interna
- Abra Pares de trading filtrando pelo token base (ex.:
AXIA). - Criar par: base
AXIA, cotaçãoUSDT,minimumOrderSize = 0,0001,pricePrecision = 2,quantityPrecision = 4,feePercentage = 0,10. - Marque Padrão e Habilitado.
- Salve. Resultado:
AXIA/USDTvira o par default no book, com a taxa e limites definidos.