Skip to content

Crear / Editar Token

Requisitos previos de acceso

  • Permiso (módulo): manageToken
  • Licencia/Feature: MANAGE_TOKENS
  • Ubicación en el menú: TOKENIZACIÓN → grupo TokenizaciónGestionar Tokens → botón Crear token

Qué es / cuándo usar

Formulario completo de registro de un token fungible. El asistente está dividido en tres grupos — Catálogo, Comercial y Configuraciones — con 14 secciones en total. Solo tres secciones son obligatorias (Identificación, Medios y Tarifas); las demás son opcionales y pueden completarse según el tipo de token.

Use esta pantalla para:

  • Emitir un nuevo token en la plataforma (Axia crea el contrato on-chain);
  • Importar un token que ya existe en la blockchain proporcionando la dirección del contrato;
  • Editar la configuración comercial y operacional de un token existente.

Requisitos previos

  • Permiso: manageToken (permiso doble — enum CPM en el backend + módulo dinámico en la DB).
  • Licencia/Feature: MANAGE_TOKENS.
  • Dependencias: redes (network_id) y, si se usa recompensa por referido o recompra, la configuración de los respectivos módulos.

Estructura del formulario

El progreso se mide por sección (X/14 secciones completas). Cada sección tiene un estado: completa, inválida (obligatoria y faltante) o pendiente (opcional no completada). El botón Guardar solo se habilita cuando las tres obligatorias están completas, el contrato (si se informó) es válido y el sitio (si se informó) comienza con http.

Sección: Identificación (obligatoria)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
SiglaSímbolo/ticker del token (hasta 10 caracteres, sin caracteres especiales)Se convierte en el id (PK) del token en tokens_all y el symbol on-chain. Inmutable tras la creación (deshabilitado en edición). Una sigla duplicada devuelve error de clave única.
NombreNombre de visualización (hasta 70 caracteres)Graba name. Inmutable tras la creación.
RedBlockchain donde el token vive/será minteado (INTERNAL, POLYGON, ETHEREUM, BITCOIN, TRON, SOLANA…)Define network_id. Inmutable tras la creación. Con INTERNAL el token es solo escritural (sin contrato on-chain).
DescripciónTexto descriptivo (hasta 4.000 caracteres)Graba description, mostrado en las plataformas.

Sección: Medios (obligatoria)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Imagen (símbolo)Logotipo cuadrado del tokenGraba image_symbol. Sin imagen, la sección queda inválida y el guardado se bloquea.
Banner (opcional)Imagen de portada de la página del tokenNoGraba cover_photo.

Sección: Emisor (opcional)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Nombre del emisorInstitución emisoraNoissuer_name.
Sitio webURL oficialNowebsite. Si se completa, debe comenzar con http:// o https://, de lo contrario el guardado se bloquea.

Sección: Documentación (opcional)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Detalles / Ecosistema / OtrosBloques de texto/HTML libresNodetails, ecosystem, others. Aceptan HTML.
Documento (PDF)Material del proyecto (máx. tamaño indicado)Nopdf_documentation.
Documento legal (PDF)Documentación jurídicaNolegal_documentation.

Grupo Comercial

Sección: Tarifas (obligatoria)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Tipo de transacciónDefine si las tarifas son Porcentuales (%) o Absolutas (valor en moneda)Graba tax_type (A = absoluto, P = porcentual). Inmutable tras la creación. Cambia el rótulo de todas las tarifas a continuación.
Tarifa de transacciónTarifa cobrada en la operacióntransaction_tax (BigNumber).
Tarifa de retiroTarifa cobrada en el retirowithdrawaw_tax (BigNumber).
Tarifas opcionalesTarifa de retiro del usuario, tarifa de producto, compra vía banking, retiro banking, tarifa de NFT, tarifa de tokens, Cielo, PagSeguro, CoinPayments, tarifa de operación, tarifa de redNoGraban 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 una se aplica en el flujo financiero correspondiente.

Sección: Tokenomics (opcional)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
SupplyCantidad total emitidaNosupply (convertido de BigNumber). Bloqueado en edición (el supply no se puede cambiar mediante edición).
Precio inicialCotización inicial del tokenNorate (BigNumber). Solo editable en la creación.

Sección: Precios y liquidez (opcional)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Cuenta propietariaBilletera/cuenta dueña del supplyNoaccount_owner.
Token de swapToken-par para swapNotoken_swap.
ParPar de cotización (ej.: USDT)Nopair. Usado en informes y en la exchange.
Orden de visualizaciónPosición en el listadoNoorder.
Texto de checkoutMensaje mostrado en el checkoutNocheckout_text.

Sección: Limitaciones (opcional)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Mínimo para transferirValor mínimo por transferenciaNominimumToTransfer.
Mínimo para comprarValor mínimo por compraNominimumToBuy.

Sección: Contrato (opcional)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Proveedor de cotización (CMC name)Fuente de la cotización automáticaNocmc_name. Acepta prefijos (ver cuadro a continuación).
Sobre-cotizaciónPorcentaje aplicado sobre la cotización automática antes de guardarNoover_quotation.
Dirección de contratoContrato on-chain existenteNocontract_address. Si está vacío, Axia crea el contrato; si se completa, importa el token existente. Validado por el formato de la red (BTC/TRX/SOL/ETH). Inmutable tras la creación.
DecimalesPrecisión on-chain (0–18)Nodecimals.
Decimales en la billeteraPrecisión mostrada al usuarioNodecimals_view_wallet.
Prefijos del Proveedor de Cotización (campo CMC name)
  • Sin prefijo → busca en CoinMarketCap por ticker/slug (ej.: BTC).
  • RATEHOST:<MONEDA> → consulta RateHost y graba en BRL (ej.: RATEHOST:USD, RATEHOST:PYG).
  • POOL:<MONEDAS> → variación combinada de una lista separada por coma (ej.: POOL:BTC,USDT).
  • CUSTOM:<URL> → proveedor personalizado que devuelve un campo rate respaldado en BRL.
  • INTERNAL:<ID> → servicio interno de Axia de cotizaciones en USD (ej.: INTERNAL:USDT).
  • COINGECKO → busca en CoinGecko por dirección de contrato.
  • Nombre que contiene "AED" → activa automáticamente la cotización AED→BRL.
  • Vacío → la cotización es fija en el sistema (no varía).

Grupo Configuraciones

Sección: Funcionalidades (toggles)

ToggleEfecto en el sistema/backend
Puede ser comprado (buyable)Habilita el token para compra.
Transferible (transferable)Permite transferencia vía billetera digital.
Disponible para retiro (withdrawable)Permite el retiro del token por la billetera.
Disponible para staking (stakable)Permite usar el token en staking.
Usar como pago (usedToPay)Habilita el token como medio de pago.
Bridgeable (bridgeable)Permite operaciones de bridge entre blockchains.
Bloqueo cambiario (exchange_lock)Bloquea el saldo del usuario al valor de la adquisición (estabiliza contra la volatilidad). Solo en la creación e irreversible.
Publicar (enabled)Muestra el token en las plataformas.
Mostrar en tokenización (display_on_tokenization)Muestra en la plataforma de tokenización.
Oculto del loop (hidden_from_loop)Elimina el token del loop de cotización/listado automático.
Permitir MetaMask (allow_metamask)Permite transacciones vía MetaMask.
Solo enteros (onlyInteger)Impide la compra de fracciones del token.
Hold automático (automatic_holding)Al comprar, el usuario se inscribe automáticamente en el staking configurado para adhesión automática.
Solo para claim (claim)El token solo se obtiene por reivindicación (claim), nunca por compra directa.
Stablecoin (stablecoin)Marca el token como moneda estable vinculada a un activo.
Recomprable (repurchase_mechanism)Permite la recompra por el emisor — requiere configurar el mecanismo en el modal (botón Configurar).
Recompensa por referido (indicationRewards)Premia al referidor en tokens — requiere configurar en el modal (tipo, valor y tope).

Sección: Personalización de retiro

Botón para crear/editar campos personalizados de retiro (withdrawalCustomFields): cada campo tiene clave, etiqueta, tipo (texto, número, selección, fecha, booleano, área de texto), obligatoriedad, placeholder, validaciones y (opcionalmente) marcado como seguro. Estos campos pasan a ser requeridos al usuario en el flujo de retiro de este token.

Sección: Integraciones

ToggleEfecto en el sistema/backend
Integración BRLA (brlaIntegration)Habilita la integración con el sistema BRLA para operaciones automatizadas.
Sincronizar saldo (enabled_sync_balance)Sincroniza automáticamente el saldo del token con la blockchain.

Sección: Integraciones de exchange

Para cada proveedor (Binance, Brasil Bitcoin, Kraken, Alpaca, Nonco): toggle de integración, prioridad, símbolo en el proveedor y parámetros de mercado (step size, tick size, min notional cuando aplica). Graban *_integration, *_priority, *_symbol, *_step_size, *_tick_size, binance_min_notional. Definen cómo la plataforma enruta órdenes a esa exchange.

Sección: Configuraciones avanzadas

ToggleEfecto en el sistema/backend
Operar exchange (operate_exchange)Permite negociar el token en la exchange interna.
Integrar book (integrate_book)Integra con un libro de ofertas externo.
Integrar TradingView (integrate_trading_view)Muestra gráficos de TradingView.
Habilitar cotización de mercado (enable_market_quote)Permite que la cotización varíe con el mercado en la exchange.
Swap automático (isAutomaticSwap)Habilita swap rápido entre tokens sin aprobación manual (necesario para la pantalla de Swap).
Token fiat principal (is_main_fiat_token)Define este como el token fiat principal de la plataforma.
Solo cotización (only_quote)Token usado solo para cotización — no disponible para compra directa y migra a la pantalla Gestionar Cuotas.

Referencia de configuraciones (toggles)

Esta sección documenta todos los toggles del formulario de token, con el rótulo exacto mostrado en pantalla (i18n pt-br), el campo (ngModel), el efecto real en el backend y cuándo usar. Ningún toggle queda sin explicación. Los toggles aparecen distribuidos entre las secciones Funcionalidades, Integraciones, Integraciones de exchange y Configuraciones avanzadas del grupo Configuraciones; aquí están agrupados por bloque lógico.

Bloque 1 — Negociación (grupo "Negociación")

Rótulo (pantalla)Campo (ngModel)Qué hace (efecto en el backend)Cuándo usar
Puede ser compradotoken.buyableLibera el token para compra en las plataformas. Sin esto, el token no aparece como comprable.Tokens que los usuarios pueden adquirir (la mayoría). Desactive para tokens solo-claim o solo-distribución.
Transferibletoken.transferablePermite transferencia peer-to-peer vía billetera digital.Tokens libres para circular entre usuarios. Desactive para cuotas/puntos no transferibles.
Disponible para retirotoken.withdrawableHabilita el retiro del token por la billetera digital (on-chain o externa).Tokens con respaldo/contrato que el usuario puede retirar. Desactive para tokens internos solo escriturales.
Disponible para stakingtoken.stakablePermite usar el token en staking. Requisito previo para que el Hold automático funcione.Tokens con programa de staking/rendimiento.
Usar como forma de pagotoken.usedToPayHabilita el token como medio de pago de productos/servicios en la plataforma.Puntos, cashback o stablecoins usados en checkout.
Permitir bridgetoken.bridgeableMarca el token como elegible para operaciones de bridge entre blockchains diferentes.Tokens multi-chain que migran de red.
Bloqueo cambiariotoken.exchange_lockCongela el saldo del usuario al valor del momento de la adquisición (protección contra volatilidad). Editable solo en la creación (mode === 'create'); irreversible.Stablecoins/tokens respaldados en fiat que no pueden fluctuar para el usuario. Decisión definitiva.

Bloque 2 — Visibilidad (grupo "Visibilidad")

Rótulo (pantalla)Campo (ngModel)Qué hace (efecto en el backend)Cuándo usar
Publicar tokentoken.enabledMuestra el token en las plataformas. Desactivado, el token existe pero queda oculto al usuario final.Active cuando el registro esté completo y el token listo para uso. Use como "borrador" desactivado.
Disponibilizar vía Marketplacetoken.display_on_tokenizationMuestra el token en la plataforma/marketplace de tokenización.Tokens que deben aparecer en el escaparate de tokenización, además de la billetera.
Ocultar del looptoken.hidden_from_loopElimina la cotización del token del "loop" (faja de cotizaciones en la parte superior de la billetera digital). El token sigue funcional, solo no aparece en el carrusel de cotizaciones.Tokens cuya cotización no debe saturar el loop (ej.: puntos, cuotas, tokens secundarios).
Disponibilizar vía MetaMasktoken.allow_metamaskPermite que el token sea transaccionado por MetaMask (billetera externa).Tokens EVM que el usuario puede operar con su propia MetaMask.

Bloque 3 — Comportamiento (grupo "Comportamiento")

Rótulo (pantalla)Campo (ngModel)Qué hace (efecto en el backend)Cuándo usar
Solo valores enterostoken.onlyIntegerBloquea la compra de fracciones del token — solo cantidades enteras.Cuotas, entradas, unidades indivisibles.
Hold automáticotoken.automatic_holdingAl acreditar la compra/depósito, el BalanceHandler consulta la configuración de staking del token y, si hay un stake marcado como hold, inscribe al usuario automáticamente en ese staking (crea el userStake). Depende de Disponible para staking y de que exista un stake con hold = true.Tokens en que la posición comprada debe rendir/bloquear automáticamente, sin acción del usuario.
Solo para claimtoken.claimMarca que el token solo se obtiene por reivindicación (claim), nunca por compra directa.Airdrops, recompensas y tokens distribuidos solo vía claim.
Stablecointoken.stablecoinCambia el mecanismo de aprovisionamiento: en depósitos/compras BaaS, el saldo se genera por mint on-chain (mintService.mintToken) en lugar de transferencia desde una cuenta de custodia (ver finlib.helper y orderPayment.scheduler). Indica moneda estable con respaldo. Suele ir junto con el Bloqueo cambiario.Tokens respaldados 1:1 emitidos por mint bajo demanda (ej.: BRL/USD tokenizado).

Bloque 4 — Funcionalidades avanzadas (modales de configuración)

Estos dos toggles requieren configuración adicional en un modal (botón Configurar). Activar sin configurar muestra el aviso "es necesario configurar".

Rótulo (pantalla)Campo (ngModel)Qué hace (efecto en el backend)Cuándo usar
RecomprableselectedRepurchase → graba token.repurchase_mechanismHabilita la recompra del token por el emisor. El modal define el mecanismo: WITH_EXIT (recompra con salida/rescate) o ORDER_BOOK (recompra vía book de ofertas); NONE cuando está desactivado.Tokens con promesa de recompra/liquidez por la casa.
Recompensa por referidoisRewardIndicationSelected → graba token.indicationRewardsHabilita premiación por referido. El modal configura por tipo (inviter/invited), forma de pago (porcentual o absoluto) y tope (max_threshold) cuando es porcentual. Paga al referidor en el registro del invitado y/o en la compra de tokens con el flag activo.Programas member-get-member y cashback de referido.

Bloque 5 — Exchange / Book / Cotización (grupo "Configuraciones avanzadas")

Rótulo (pantalla)Campo (ngModel)Qué hace (efecto en el backend)Cuándo usar
Habilitar exchangetoken.operate_exchangePermite negociar el token en la exchange interna de la plataforma (order book propio).Tokens con par de negociación activo en la exchange de la casa.
Book externotoken.integrate_bookIntegra el token a un libro de ofertas externo (de una exchange/proveedor de liquidez) en lugar de solo el book interno. Trabaja con las Integraciones de exchange (Binance/Kraken/etc.) que definen la fuente.Tokens cuya liquidez/profundidad proviene de una exchange externa.
Trading Viewtoken.integrate_trading_viewHabilita los gráficos de TradingView en la pantalla de cotización/negociación del token (visualización de velas/historial).Tokens negociados en que el usuario debe ver un gráfico profesional.
Variar cotización (Exchange)token.enable_market_quoteHace que la cotización del token varíe según el mercado en la exchange. En el settlement de compra (payment.settlement.service), cuando está activado, el sistema persiste la tasa de cambio del momento (storeExchangeRate) en cada ejecución de orden.Tokens con precio de mercado dinámico (no fijo).
Habilitar negociación rápidatoken.isAutomaticSwapHabilita el swap automático/rápido entre tokens sin aprobación manual. Requisito previo para que el token aparezca/funcione en la pantalla de Swap.Pares con liquidez para intercambio instantáneo.
Token fiat principaltoken.is_main_fiat_tokenMarca el token como fiat de referencia de la plataforma. Varios servicios usan find(isMainFiatToken) como moneda base para conversiones, depósitos externos y exportaciones; el fallback cuando está ausente es 'BRL'. Debe haber como máximo uno con este flag.El token que representa la moneda fiduciaria principal del tenant (ej.: BRL tokenizado).
Solo cotizacióntoken.only_quoteToken usado solo para cotización, sin compra directa. En la separación de tokens por tipo (separetesCryptoByType en el FMS), los tokens con only_quote se clasifican como cuotas de inversión (van a la pantalla Gestionar Cuotas).Cuotas/activos de referencia que no se compran directamente en la pantalla de token.

Bloque 6 — Integraciones de proveedor

Integraciones simples (grupo "Integraciones")

Rótulo (pantalla)Campo (ngModel)Qué hace (efecto en el backend)Cuándo usar
Integración BRLAtoken.brlaIntegrationHabilita la integración con el proveedor BRLA para operaciones automatizadas (proveedor de BRL tokenizado / on-off ramp).Tokens operados vía BRLA.
Sincronización de saldo habilitadatoken.enabled_sync_balanceHabilita la sincronización automática del saldo del token con la blockchain (conciliación on-chain ↔ saldo escritural).Tokens on-chain cuyo saldo debe reflejar la red automáticamente.

Integraciones de exchange (grupo "Integraciones de exchange")

Cada proveedor es un toggle de fuente de cotización/liquidez/book externo. Cuando está activado, el token usa ese proveedor como origen de precio y/o destino de enrutamiento de órdenes. Los sub-campos definen cómo enrutar la orden a ese proveedor:

Sub-campoCampo (ngModel, ej. Binance)Rol
Prioridad (menor = mayor)token.binance_priorityOrden de preferencia entre proveedores activados — número menor = mayor prioridad. Define qué proveedor se consulta/enruta primero.
Símbolo/ID en la exchangetoken.binance_symbolSímbolo del par en esa exchange (ej.: BTCBRL). Mapea el token interno al ticker del proveedor.
Step sizetoken.binance_step_sizeIncremento mínimo de cantidad aceptado por la exchange (lot size). La orden se redondea a este paso.
Tick sizetoken.binance_tick_sizeIncremento mínimo de precio aceptado por la exchange. El precio se redondea a este paso.
Min notionaltoken.binance_min_notionalValor mínimo total (precio × cantidad) de la orden aceptado por la exchange. Las órdenes por debajo son rechazadas. (Expuesto en la UI solo para Binance.)
Rótulo (pantalla)Toggle (ngModel)Sub-campos disponibles en la UI
Habilitar Binancetoken.binance_integrationbinance_priority, binance_symbol, binance_step_size, binance_tick_size, binance_min_notional
Integración 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

Cuándo usar las integraciones de exchange

Active uno o más proveedores cuando la cotización y/o la liquidez del token provengan de una exchange externa (en lugar de precio fijo o book interno). Configure el símbolo correcto en ese proveedor, defina la prioridad (si activa más de uno) y ajuste step/tick/min notional para que las órdenes enrutadas respeten las reglas de precisión de la exchange — valores incorrectos hacen que la exchange rechace la orden.

Precisión (BigNumber)

step_size, tick_size y min_notional son parámetros de precisión de mercado. Las cantidades y los precios se tratan como BigNumber en el backend — no redondee en la configuración; ingrese exactamente los valores publicados por la exchange para el par.

Acciones y modales

  • Guardar: abre un modal de confirmación (bottom sheet). En la creación, los valores monetarios (supply, rate, tarifas) se convierten a BigNumber antes del envío (createToken); en la edición, supply/fotos/estadísticas se eliminan del payload y solo las tarifas se reconvierten (saveToken).
  • Configurar recompra / Configurar recompensa por referido: modales dedicados que solo están accesibles con el toggle correspondiente activado.
  • Personalizar campos de retiro: modal que construye el esquema de campos extras del retiro.
  • Cancelar: pide confirmación antes de descartar el registro/edición.

Reglas de negocio / cuidados

Atención

  • Inmutables tras la creación: sigla, nombre, red, tipo de transacción (tax_type), dirección de contrato, supply y bloqueo cambiario.
  • El precio inicial solo es editable en la creación. A partir de la primera compra, el sistema calcula un precio promedio por usuario y lo usa en lugar de la cotización actual.
  • El sitio web solo se acepta con http:// / https://; el contrato se valida por el formato de la red.

Irreversible

  • Bloqueo cambiario (exchange_lock): una vez activado, no hay forma de deshacerlo. Congela el saldo del usuario al valor del momento de la adquisición.
  • La emisión (mint) del supply on-chain no tiene rollback.
  • Valores financieros: tarifas, supply, cotización y precios son BigNumber — sin redondeo. Verifique decimals.

Ejemplos

Escenario 1 — Stablecoin con bloqueo cambiario
  1. Identificación: sigla BRLX, nombre "Real Tokenizado", red POLYGON, descripción del respaldo.
  2. Medios: logo cuadrado.
  3. Tarifas: tipo Porcentual, tarifa de transacción 0 y tarifa de retiro 0,5%.
  4. Configuraciones → Funcionalidades: activar Stablecoin, Puede ser comprado, Transferible, Disponible para retiro, y Bloqueo cambiario (consciente de la irreversibilidad — el saldo del usuario queda bloqueado al valor de la compra, protegiéndolo contra la volatilidad).
  5. Contrato: dejar la dirección vacía para que Axia cree el contrato; decimals = 18.
  6. Guardar. Resultado: token publicado, con saldo bloqueado por adquisición y tarifa de retiro del 0,5%.
Escenario 2 — Importar USDT existente por dirección de contrato
  1. Identificación: sigla USDT, nombre "Tether USD", red ETHEREUM.
  2. Contrato: pegar la dirección de contrato real del USDT en Ethereum — el formato se valida para la red. Como la dirección fue informada, Axia no crea contrato; el token solo se referencia/importa.
  3. Proveedor de cotización: INTERNAL:USDT (cotización en USD por el servicio interno) o dejar vacío para fijo.
  4. Funcionalidades: activar Puede ser comprado, Transferible, Disponible para retiro según la operación deseada.
  5. Guardar. Resultado: el USDT on-chain pasa a operar dentro de la plataforma (compra/venta/staking/distribución) usando el contrato existente.
Escenario 3 — Token utilitario simple sin respaldo
  1. Identificación: sigla PNT, nombre "Puntos", red INTERNAL (escritural, sin contrato on-chain).
  2. Medios: logo.
  3. Tarifas: tipo Porcentual, transacción 0, retiro 0.
  4. Funcionalidades: activar Usar como pago y Solo enteros; mantener Disponible para retiro y Transferible desactivados si es un punto interno no canjeable.
  5. Configuraciones avanzadas: opcionalmente Solo para claim si el token solo puede obtenerse por reivindicación.
  6. Guardar. Resultado: token interno simple, sin costo de contrato, usado como medio de intercambio/recompensa.

Pantallas relacionadas