Skip to content

Criar / Editar Token

Pré-requisitos de acesso

  • Permissão (módulo): manageToken
  • Licença/Feature: MANAGE_TOKENS
  • Contêiner do menu: TOKENIZAÇÃO → grupo TokenizaçãoGerenciar Tokens → botão Criar token

O que é / quando usar

Formulário completo de cadastro de um token fungível. O assistente é dividido em três grupos — Catálogo, Comercial e Configurações — com 14 seções no total. Apenas três seções são obrigatórias (Identificação, Mídia e Taxas); as demais são opcionais e podem ser preenchidas conforme o tipo de token.

Use esta tela para:

  • Emitir um token novo na plataforma (a Axia cria o contrato on-chain);
  • Importar um token que já existe na blockchain, informando o endereço de contrato;
  • Editar a configuração comercial e operacional de um token existente.

Pré-condições

  • Permissão: manageToken (permissão dupla — enum CPM no backend + módulo dinâmico no DB).
  • Licença/Feature: MANAGE_TOKENS.
  • Dependências: redes (network_id) e, se for usar recompensa por indicação ou recompra, a configuração dos respectivos módulos.

Estrutura do formulário

O progresso é medido por seção (X/14 seções completas). Cada seção tem um status: completa, inválida (obrigatória e faltando) ou pendente (opcional não preenchida). O botão Salvar só habilita quando as três obrigatórias estão completas, o contrato (se informado) é válido e o site (se informado) começa com http.

Seção: Identificação (obrigatória)

CampoO que éObrigatório?Efeito no sistema/backend
SiglaSímbolo/ticker do token (até 10 caracteres, sem caracteres especiais)SimVira o id (PK) do token em tokens_all e o symbol on-chain. Imutável após a criação (desabilitado em edição). Sigla duplicada retorna erro de chave única.
NomeNome de exibição (até 70 caracteres)SimGrava name. Imutável após a criação.
RedeBlockchain onde o token vive/será mintado (INTERNAL, POLYGON, ETHEREUM, BITCOIN, TRON, SOLANA…)SimDefine network_id. Imutável após a criação. Em INTERNAL o token é apenas escritural (sem contrato on-chain).
DescriçãoTexto descritivo (até 4000 caracteres)SimGrava description, exibido nas plataformas.

Seção: Mídia (obrigatória)

CampoO que éObrigatório?Efeito no sistema/backend
Imagem (símbolo)Logo quadrado do tokenSimGrava image_symbol. Sem imagem, a seção fica inválida e o save bloqueia.
Banner (opcional)Imagem de capa da página do tokenNãoGrava cover_photo.

Seção: Emissor (opcional)

CampoO que éObrigatório?Efeito no sistema/backend
Nome do emissorInstituição emissoraNãoissuer_name.
SiteURL oficialNãowebsite. Se preenchido, precisa começar com http:// ou https://, senão o save bloqueia.

Seção: Documentação (opcional)

CampoO que éObrigatório?Efeito no sistema/backend
Detalhes / Ecossistema / OutrosBlocos de texto/HTML livresNãodetails, ecosystem, others. Aceitam HTML.
Documento (PDF)Material do projeto (máx. tamanho indicado)Nãopdf_documentation.
Documento legal (PDF)Documentação jurídicaNãolegal_documentation.

Grupo Comercial

Seção: Taxas (obrigatória)

CampoO que éObrigatório?Efeito no sistema/backend
Tipo de transaçãoDefine se as taxas são Percentuais (%) ou Absolutas (valor em moeda)SimGrava tax_type (A = absoluto, P = percentual). Imutável após a criação. Altera o rótulo de todas as taxas abaixo.
Taxa de transaçãoTaxa cobrada na operaçãoSimtransaction_tax (BigNumber).
Taxa de saqueTaxa cobrada no saqueSimwithdrawaw_tax (BigNumber).
Taxas opcionaisTaxa de saque do usuário, taxa de produto, compra via banking, saque banking, taxa de NFT, taxa de tokens, Cielo, PagSeguro, CoinPayments, taxa de operação, taxa de redeNãoGravam user_withdrawal_tax, product_buy_tax, token_buy_with_digital_banking, user_banking_withdrawal_tax, nft_buy_tax, tokens_buy_tax, token_buy_with_cielo_tax, token_buy_with_pagseguro_tax, token_buy_with_coinpayments_tax, operation_fee, network_fee. Cada uma é aplicada no fluxo financeiro correspondente.

Seção: Tokenomics (opcional)

CampoO que éObrigatório?Efeito no sistema/backend
SupplyQuantidade total emitidaNãosupply (convertido de BigNumber). Bloqueado em edição (não se altera supply pela edição).
Preço inicialCotação inicial do tokenNãorate (BigNumber). Só editável na criação.

Seção: Precificação e liquidez (opcional)

CampoO que éObrigatório?Efeito no sistema/backend
Conta proprietáriaCarteira/conta dona do supplyNãoaccount_owner.
Token de swapToken-par para swapNãotoken_swap.
ParPar de cotação (ex.: USDT)Nãopair. Usado em relatórios e exchange.
Ordem de exibiçãoPosição na listagemNãoorder.
Texto de checkoutMensagem exibida no checkoutNãocheckout_text.

Seção: Limitações (opcional)

CampoO que éObrigatório?Efeito no sistema/backend
Mínimo para transferirValor mínimo por transferênciaNãominimumToTransfer.
Mínimo para comprarValor mínimo por compraNãominimumToBuy.

Seção: Contrato (opcional)

CampoO que éObrigatório?Efeito no sistema/backend
Provedor de cotação (CMC name)Fonte da cotação automáticaNãocmc_name. Aceita prefixos (ver quadro abaixo).
Sobre-cotaçãoPercentual aplicado sobre a cotação automática antes de salvarNãoover_quotation.
Endereço de contratoContrato on-chain existenteNãocontract_address. Se vazio, a Axia cria o contrato; se preenchido, importa o token existente. Validado pelo formato da rede (BTC/TRX/SOL/ETH). Imutável após a criação.
Casas decimaisPrecisão on-chain (0–18)Nãodecimals.
Casas decimais na carteiraPrecisão exibida ao usuárioNãodecimals_view_wallet.
Prefixos do Provedor de Cotação (campo CMC name)
  • Sem prefixo → busca no CoinMarketCap pelo ticker/slug (ex.: BTC).
  • RATEHOST:<MOEDA> → consulta RateHost e grava em BRL (ex.: RATEHOST:USD, RATEHOST:PYG).
  • POOL:<MOEDAS> → variação combinada de uma lista separada por vírgula (ex.: POOL:BTC,USDT).
  • CUSTOM:<URL> → provedor customizado que retorna um campo rate lastreado em real.
  • INTERNAL:<ID> → serviço interno da Axia de cotações em USD (ex.: INTERNAL:USDT).
  • COINGECKO → busca no CoinGecko pelo endereço de contrato.
  • Nome contendo "AED" → aciona a cotação AED→BRL automaticamente.
  • Vazio → a cotação é fixa no sistema (não varia).

Grupo Configurações

Seção: Funcionalidades (toggles)

ToggleEfeito no sistema/backend
Pode ser comprado (buyable)Viabiliza o token para compra.
Transferível (transferable)Permite transferência via carteira digital.
Sacável (withdrawable)Permite saque do token pela carteira.
Disponível para staking (stakable)Permite usar o token em staking.
Usar como pagamento (usedToPay)Habilita o token como meio de pagamento.
Bridgeable (bridgeable)Permite operações de bridge entre blockchains.
Trava cambial (exchange_lock)Trava o saldo do usuário no valor da aquisição (estabiliza contra volatilidade). Só na criação e irreversível.
Publicar (enabled)Exibe o token nas plataformas.
Exibir na tokenização (display_on_tokenization)Exibe na plataforma de tokenização.
Oculto do loop (hidden_from_loop)Remove o token do loop de cotação/listagem automática.
Permitir MetaMask (allow_metamask)Permite transição via MetaMask.
Apenas inteiros (onlyInteger)Impede compra de frações do token.
Hold automático (automatic_holding)Ao comprar, o usuário entra automaticamente no staking configurado para adesão automática.
Apenas para claim (claim)O token só é obtido por reivindicação (claim), nunca por compra direta.
Stablecoin (stablecoin)Marca o token como moeda estável vinculada a um ativo.
Recomprável (repurchase_mechanism)Permite recompra pela emissora — exige configurar o mecanismo no modal (botão Configurar).
Recompensa por indicação (indicationRewards)Premia o indicador em tokens — exige configurar no modal (tipo, valor e teto).

Seção: Personalização de saque

Botão para criar/editar campos customizados de saque (withdrawalCustomFields): cada campo tem chave, label, tipo (texto, número, seleção, data, booleano, área de texto), obrigatoriedade, placeholder, validações e (opcionalmente) marcado como seguro. Esses campos passam a ser exigidos do usuário no fluxo de saque deste token.

Seção: Integrações

ToggleEfeito no sistema/backend
Integração BRLA (brlaIntegration)Habilita integração com o sistema BRLA para operações automatizadas.
Sincronizar saldo (enabled_sync_balance)Sincroniza automaticamente o saldo do token com a blockchain.

Seção: Integrações de exchange

Para cada provedor (Binance, Brasil Bitcoin, Kraken, Alpaca, Nonco): toggle de integração, prioridade, símbolo no provedor e parâmetros de mercado (step size, tick size, min notional quando aplicável). Gravam *_integration, *_priority, *_symbol, *_step_size, *_tick_size, binance_min_notional. Definem como a plataforma roteia ordens àquela exchange.

Seção: Configurações avançadas

ToggleEfeito no sistema/backend
Operar exchange (operate_exchange)Permite negociar o token na exchange interna.
Integrar book (integrate_book)Integra a um livro de ofertas externo.
Integrar TradingView (integrate_trading_view)Exibe gráficos do TradingView.
Habilitar cotação de mercado (enable_market_quote)Permite a cotação variar com o mercado na exchange.
Swap automático (isAutomaticSwap)Habilita swap rápido entre tokens sem aprovação manual (necessário para a tela de Swap).
Token fiat principal (is_main_fiat_token)Define como o token fiat principal da plataforma.
Somente cotação (only_quote)Token usado apenas para cotação — não fica disponível para compra direta e migra para a tela Gerenciar Cotas.

Referência de configurações (toggles)

Esta seção documenta todos os toggles do formulário de token, com o rótulo exato exibido na tela (i18n pt-br), o campo (ngModel), o efeito real no backend e quando usar. Nenhum toggle fica sem explicação. Os toggles aparecem espalhados pelas seções Funcionalidades, Integrações, Integrações de exchange e Configurações avançadas do grupo Configurações; aqui estão agrupados por bloco lógico.

Bloco 1 — Negociação (grupo "Negociação")

Rótulo (tela)Campo (ngModel)O que faz (efeito no backend)Quando usar
Pode ser compradotoken.buyableLibera o token para compra nas plataformas. Sem isso, o token não aparece como comprável.Tokens que os usuários podem adquirir (a maioria). Desligue para tokens só-claim ou só-distribuição.
Transferíveltoken.transferablePermite transferência peer-to-peer via carteira digital.Tokens livres para circular entre usuários. Desligue para cotas/pontos não-transferíveis.
Disponibilizar para saquetoken.withdrawableHabilita o saque do token pela carteira digital (on-chain ou externo).Tokens com lastro/contrato que o usuário pode retirar. Desligue para tokens internos escriturais.
Disponibilizar para stakingtoken.stakablePermite usar o token em staking. Pré-requisito para o Hold automático funcionar.Tokens com programa de staking/rendimento.
Usar como forma de pagamentotoken.usedToPayHabilita o token como meio de pagamento de produtos/serviços na plataforma.Pontos, cashback ou stablecoins usados em checkout.
Permitir bridgetoken.bridgeableMarca o token como elegível a operações de bridge entre blockchains diferentes.Tokens multi-chain que migram de rede.
Trava cambialtoken.exchange_lockCongela o saldo do usuário no valor do momento da aquisição (blindagem contra volatilidade). Editável só na criação (mode === 'create'); irreversível.Stablecoins/tokens lastreados em fiat que não podem flutuar para o usuário. Decisão definitiva.

Bloco 2 — Visibilidade (grupo "Visibilidade")

Rótulo (tela)Campo (ngModel)O que faz (efeito no backend)Quando usar
Publicar tokentoken.enabledExibe o token nas plataformas. Desligado, o token existe mas fica oculto ao usuário final.Ligue quando o cadastro estiver completo e o token pronto para uso. Use como "rascunho" desligado.
Disponibilizar via Marketplacetoken.display_on_tokenizationExibe o token na plataforma/marketplace de tokenização.Tokens que devem aparecer na vitrine de tokenização, além da carteira.
Ocultar do looptoken.hidden_from_loopRemove a cotação do token do "loop" (faixa de cotações no topo da carteira digital). O token continua funcional, só não aparece no carrossel de cotações.Tokens cuja cotação não deve poluir o loop (ex.: pontos, cotas, tokens secundários).
Disponibilizar via MetaMasktoken.allow_metamaskPermite que o token seja transacionado pela MetaMask (carteira externa).Tokens EVM que o usuário pode operar pela própria MetaMask.

Bloco 3 — Comportamento (grupo "Comportamento")

Rótulo (tela)Campo (ngModel)O que faz (efeito no backend)Quando usar
Apenas valores inteirostoken.onlyIntegerBloqueia a compra de frações do token — só quantidades inteiras.Cotas, ingressos, unidades indivisíveis.
Hold automáticotoken.automatic_holdingNo crédito de compra/depósito, o BalanceHandler consulta a configuração de staking do token e, se houver um stake marcado como hold, inscreve o usuário automaticamente nesse staking (cria o userStake). Depende de Disponibilizar para staking e de existir um stake com hold = true.Tokens em que a posição comprada deve render/travar automaticamente, sem ação do usuário.
Apenas para claimtoken.claimMarca que o token só é obtido por reivindicação (claim), nunca por compra direta.Airdrops, recompensas e tokens distribuídos só via claim.
Stablecointoken.stablecoinMuda o mecanismo de provisionamento: em depósitos/compras BaaS, o saldo é gerado por mint on-chain (mintService.mintToken) em vez de transferência de uma conta de custódia (ver finlib.helper e orderPayment.scheduler). Indica moeda estável lastreada. Costuma andar junto da Trava cambial.Tokens lastreados 1:1 emitidos por mint sob demanda (ex.: real/dólar tokenizado).

Bloco 4 — Funcionalidades avançadas (modais de configuração)

Estes dois toggles exigem configuração extra em um modal (botão Configurar). Ligar sem configurar exibe o aviso "necessário configurar".

Rótulo (tela)Campo (ngModel)O que faz (efeito no backend)Quando usar
RecomprávelselectedRepurchase → grava token.repurchase_mechanismHabilita a recompra do token pela emissora. O modal define o mecanismo: WITH_EXIT (recompra com saída/resgate) ou ORDER_BOOK (recompra via book de ofertas); NONE quando desligado.Tokens com promessa de recompra/liquidez pela casa.
Recompensa por indicaçãoisRewardIndicationSelected → grava token.indicationRewardsHabilita premiação por indicação. O modal configura por tipo (inviter/invited), forma de pagamento (percentual ou absoluto) e teto (max_threshold) quando percentual. Paga ao indicador no cadastro do convidado e/ou na compra de tokens com a flag ativa.Programas de member-get-member e cashback de indicação.

Bloco 5 — Exchange / Book / Cotação (grupo "Configurações avançadas")

Rótulo (tela)Campo (ngModel)O que faz (efeito no backend)Quando usar
Habilitar exchangetoken.operate_exchangePermite negociar o token na exchange interna da plataforma (order book próprio).Tokens com par de negociação ativo na exchange da casa.
Book externotoken.integrate_bookIntegra o token a um livro de ofertas externo (de uma exchange/provedor de liquidez) em vez de só o book interno. Trabalha com as Integrações de exchange (Binance/Kraken/etc.) que definem a fonte.Tokens cuja liquidez/profundidade vem de uma exchange externa.
Trading Viewtoken.integrate_trading_viewHabilita os gráficos do TradingView na tela de cotação/negociação do token (visualização de candles/histórico).Tokens negociados em que o usuário deve ver gráfico profissional.
Variar cotação (Exchange)token.enable_market_quoteFaz a cotação do token variar conforme o mercado na exchange. No settlement de compra (payment.settlement.service), quando ligado, o sistema persiste a taxa de câmbio do momento (storeExchangeRate) a cada execução de ordem.Tokens com preço de mercado dinâmico (não fixo).
Habilitar negociação rápidatoken.isAutomaticSwapHabilita o swap automático/rápido entre tokens sem aprovação manual. Pré-requisito para o token aparecer/funcionar na tela de Swap.Pares com liquidez para troca instantânea.
Token fiat principaltoken.is_main_fiat_tokenMarca o token como fiat de referência da plataforma. Vários serviços usam find(isMainFiatToken) como moeda-base para conversões, depósitos externos e exportações; o fallback quando ausente é 'BRL'. Deve haver no máximo um token com esta flag.O token que representa a moeda fiduciária principal do tenant (ex.: real tokenizado).
Apenas cotaçãotoken.only_quoteToken usado só para cotação, sem compra direta. Na separação de tokens por tipo (separetesCryptoByType no FMS), tokens com only_quote são classificados como cotas de investimento (vão para a tela Gerenciar Cotas).Cotas/ativos de referência que não são comprados diretamente pela tela de token.

Bloco 6 — Integrações de provedor

Integrações simples (grupo "Integrações")

Rótulo (tela)Campo (ngModel)O que faz (efeito no backend)Quando usar
Integração BRLAtoken.brlaIntegrationHabilita a integração com o provedor BRLA para operações automatizadas (provedor de real tokenizado / on-off ramp).Tokens operados via BRLA.
Sincronização de saldo habilitadatoken.enabled_sync_balanceHabilita a sincronização automática do saldo do token com a blockchain (reconciliação on-chain ↔ saldo escritural).Tokens on-chain cujo saldo precisa refletir a rede automaticamente.

Integrações de exchange (grupo "Integrações de exchange")

Cada provedor é um toggle de fonte de cotação/liquidez/book externo. Quando ligado, o token passa a ter aquele provedor como origem de preço e/ou destino de roteamento de ordens. Os sub-campos definem como rotear a ordem naquele provedor:

Sub-campoCampo (ngModel, ex. Binance)Papel
Prioridade (menor = maior)token.binance_priorityOrdem de preferência entre provedores ligados — menor número = maior prioridade. Define qual provedor é consultado/roteado primeiro.
Símbolo/ID na exchangetoken.binance_symbolSímbolo do par naquela exchange (ex.: BTCBRL). Mapeia o token interno para o ticker do provedor.
Step sizetoken.binance_step_sizeIncremento mínimo de quantidade aceito pela exchange (lot size). A ordem é arredondada a este passo.
Tick sizetoken.binance_tick_sizeIncremento mínimo de preço aceito pela exchange. O preço é arredondado a este passo.
Min notionaltoken.binance_min_notionalValor mínimo total (preço × quantidade) da ordem aceito pela exchange. Ordens abaixo são rejeitadas. (Exposto na UI apenas para Binance.)
Rótulo (tela)Toggle (ngModel)Sub-campos disponíveis na UI
Habilitar Binancetoken.binance_integrationbinance_priority, binance_symbol, binance_step_size, binance_tick_size, binance_min_notional
Integração Brasil Bitcointoken.brasil_bitcoin_integrationbrasil_bitcoin_priority, brasil_bitcoin_symbol, brasil_bitcoin_step_size, brasil_bitcoin_tick_size
Habilitar Krakentoken.kraken_integrationkraken_priority, kraken_symbol, kraken_step_size, kraken_tick_size
Habilitar Alpacatoken.alpaca_integrationalpaca_priority, alpaca_symbol, alpaca_step_size, alpaca_tick_size
Habilitar Noncotoken.nonco_integrationnonco_priority, nonco_symbol, nonco_step_size, nonco_tick_size

Quando usar as integrações de exchange

Ligue um ou mais provedores quando a cotação e/ou a liquidez do token vierem de uma exchange externa (em vez de preço fixo ou book interno). Configure o símbolo correto naquele provedor, defina a prioridade (caso ligue mais de um) e ajuste step/tick/min notional para que as ordens roteadas respeitem as regras de precisão da exchange — valores errados fazem a exchange rejeitar a ordem.

Precisão (BigNumber)

step_size, tick_size e min_notional são parâmetros de precisão de mercado. Quantidades e preços são tratados como BigNumber no backend — não arredonde na configuração; informe exatamente os valores publicados pela exchange para o par.

Ações e modais

  • Salvar: abre um modal de confirmação (bottom sheet). Na criação, valores monetários (supply, rate, taxas) são convertidos para BigNumber antes do envio (createToken); na edição, supply/photos/statistics são removidos do payload e apenas as taxas reconvertidas (saveToken).
  • Configurar recompra / Configurar recompensa por indicação: modais dedicados que só ficam acessíveis com o toggle correspondente ligado.
  • Personalizar campos de saque: modal que monta o esquema de campos extras do saque.
  • Cancelar: pede confirmação antes de descartar o cadastro/edição.

Regras de negócio / cuidados

Atenção

  • Imutáveis após a criação: sigla, nome, rede, tipo de transação (tax_type), endereço de contrato, supply e trava cambial.
  • O preço inicial só é editável na criação. A partir da primeira compra, o sistema calcula um preço médio por usuário e passa a usá-lo em vez da cotação atual.
  • Site só é aceito com http:// / https://; contrato é validado pelo formato da rede.

Irreversível

  • Trava cambial (exchange_lock): uma vez ligada, não há como desfazer. Ela congela o saldo do usuário no valor do momento da aquisição.
  • A emissão (mint) do supply on-chain não tem rollback.
  • Valores financeiros: taxas, supply, cotação e preços são BigNumber — sem arredondamento. Confira decimals.

Exemplos

Cenário 1 — Stablecoin com trava cambial
  1. Identificação: sigla BRLX, nome "Real Tokenizado", rede POLYGON, descrição do lastro.
  2. Mídia: logo quadrado.
  3. Taxas: tipo Percentual, taxa de transação 0 e taxa de saque 0,5%.
  4. Configurações → Funcionalidades: ligar Stablecoin, Pode ser comprado, Transferível, Sacável, e Trava cambial (ciente da irreversibilidade — o saldo do usuário fica travado no valor da compra, blindando contra volatilidade).
  5. Contrato: deixar o endereço vazio para a Axia criar o contrato; decimals = 18.
  6. Salvar. Resultado: token publicado, com saldo travado por aquisição e taxa de saque de 0,5%.
Cenário 2 — Importar USDT existente via número de contrato
  1. Identificação: sigla USDT, nome "Tether USD", rede ETHEREUM.
  2. Contrato: colar o endereço de contrato real do USDT na Ethereum — o formato é validado para a rede. Como o endereço foi informado, a Axia não cria contrato; o token é apenas referenciado/importado.
  3. Provedor de cotação: INTERNAL:USDT (cotação em USD pelo serviço interno) ou deixar vazio para fixa.
  4. Funcionalidades: ligar Pode ser comprado, Transferível, Sacável conforme a operação desejada.
  5. Salvar. Resultado: o USDT on-chain passa a operar dentro da plataforma (compra/venda/staking/distribuição) usando o contrato existente.
Cenário 3 — Token utilitário simples sem lastro
  1. Identificação: sigla PNT, nome "Pontos", rede INTERNAL (escritural, sem contrato on-chain).
  2. Mídia: logo.
  3. Taxas: tipo Percentual, transação 0, saque 0.
  4. Funcionalidades: ligar Usar como pagamento e Apenas inteiros; manter Sacável e Transferível desligados se for um ponto interno não-resgatável.
  5. Configurações avançadas: opcionalmente Apenas para claim se o token só puder ser obtido por reivindicação.
  6. Salvar. Resultado: token interno simples, sem custo de contrato, usado como meio de troca/recompensa.

Telas relacionadas