Skip to content

Create / Edit Token

Access Prerequisites

  • Permission (module): manageToken
  • License/Feature: MANAGE_TOKENS
  • Menu location: TOKENIZATION → group TokenizationManage Tokens → button Create token

What it is / when to use

Complete registration form for a fungible token. The wizard is divided into three groups — Catalog, Commercial and Settings — with 14 sections in total. Only three sections are required (Identification, Media and Fees); the others are optional and can be filled in according to the token type.

Use this screen to:

  • Issue a new token on the platform (Axia creates the on-chain contract);
  • Import a token that already exists on the blockchain by providing the contract address;
  • Edit the commercial and operational configuration of an existing token.

Prerequisites

  • Permission: manageToken (dual permission — CPM enum on the backend + dynamic module in the DB).
  • License/Feature: MANAGE_TOKENS.
  • Dependencies: networks (network_id) and, if using referral rewards or buyback, the configuration of the respective modules.

Form structure

Progress is measured by section (X/14 sections complete). Each section has a status: complete, invalid (required and missing) or pending (optional and unfilled). The Save button is only enabled when the three required sections are complete, the contract (if provided) is valid and the website (if provided) starts with http.

Catalog group

Section: Identification (required)

FieldWhat it isRequired?System/backend effect
TickerSymbol/ticker of the token (up to 10 characters, no special characters)YesBecomes the token's id (PK) in tokens_all and the on-chain symbol. Immutable after creation (disabled in edit mode). Duplicate ticker returns a unique-key error.
NameDisplay name (up to 70 characters)YesSaves name. Immutable after creation.
NetworkBlockchain where the token lives/will be minted (INTERNAL, POLYGON, ETHEREUM, BITCOIN, TRON, SOLANA…)YesDefines network_id. Immutable after creation. With INTERNAL the token is ledger-only (no on-chain contract).
DescriptionDescriptive text (up to 4,000 characters)YesSaves description, displayed on the platforms.

Section: Media (required)

FieldWhat it isRequired?System/backend effect
Image (symbol)Square logo of the tokenYesSaves image_symbol. Without an image the section is invalid and saving is blocked.
Banner (optional)Cover image for the token pageNoSaves cover_photo.

Section: Issuer (optional)

FieldWhat it isRequired?System/backend effect
Issuer nameIssuing institutionNoissuer_name.
WebsiteOfficial URLNowebsite. If filled in, it must start with http:// or https://, otherwise saving is blocked.

Section: Documentation (optional)

FieldWhat it isRequired?System/backend effect
Details / Ecosystem / OthersFree text/HTML blocksNodetails, ecosystem, others. Accept HTML.
Document (PDF)Project material (max. indicated size)Nopdf_documentation.
Legal document (PDF)Legal documentationNolegal_documentation.

Commercial group

Section: Fees (required)

FieldWhat it isRequired?System/backend effect
Transaction typeDefines whether fees are Percentage (%) or Absolute (currency value)YesSaves tax_type (A = absolute, P = percentage). Immutable after creation. Changes the label of all fees below.
Transaction feeFee charged on the operationYestransaction_tax (BigNumber).
Withdrawal feeFee charged on withdrawalYeswithdrawaw_tax (BigNumber).
Optional feesUser withdrawal fee, product fee, purchase via banking, banking withdrawal, NFT fee, token fee, Cielo, PagSeguro, CoinPayments, operation fee, network feeNoSave 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. Each is applied in the corresponding financial flow.

Section: Tokenomics (optional)

FieldWhat it isRequired?System/backend effect
SupplyTotal quantity issuedNosupply (converted from BigNumber). Locked in edit mode (supply cannot be changed via edit).
Initial priceInitial token rateNorate (BigNumber). Only editable during creation.

Section: Pricing and liquidity (optional)

FieldWhat it isRequired?System/backend effect
Owner accountWallet/account that owns the supplyNoaccount_owner.
Swap tokenPair token for swapNotoken_swap.
PairQuote pair (e.g. USDT)Nopair. Used in reports and the exchange.
Display orderPosition in the listingNoorder.
Checkout textMessage displayed at checkoutNocheckout_text.

Section: Limitations (optional)

FieldWhat it isRequired?System/backend effect
Minimum to transferMinimum value per transferNominimumToTransfer.
Minimum to buyMinimum value per purchaseNominimumToBuy.

Section: Contract (optional)

FieldWhat it isRequired?System/backend effect
Quote provider (CMC name)Source of automatic quotationNocmc_name. Accepts prefixes (see table below).
Over-quotationPercentage applied on top of the automatic quote before savingNoover_quotation.
Contract addressExisting on-chain contractNocontract_address. If empty, Axia creates the contract; if provided, imports the existing token. Validated by network format (BTC/TRX/SOL/ETH). Immutable after creation.
Decimal placesOn-chain precision (0–18)Nodecimals.
Decimal places in walletPrecision displayed to the userNodecimals_view_wallet.
Quote Provider Prefixes (CMC name field)
  • No prefix → queries CoinMarketCap by ticker/slug (e.g. BTC).
  • RATEHOST:<CURRENCY> → queries RateHost and saves in BRL (e.g. RATEHOST:USD, RATEHOST:PYG).
  • POOL:<CURRENCIES> → combined variation of a comma-separated list (e.g. POOL:BTC,USDT).
  • CUSTOM:<URL> → custom provider that returns a rate field backed by BRL.
  • INTERNAL:<ID> → Axia internal USD quote service (e.g. INTERNAL:USDT).
  • COINGECKO → queries CoinGecko by contract address.
  • Name containing "AED" → automatically triggers AED→BRL conversion.
  • Empty → the quote is fixed in the system (does not vary).

Settings group

Section: Features (toggles)

ToggleSystem/backend effect
Can be bought (buyable)Makes the token available for purchase.
Transferable (transferable)Allows transfer via digital wallet.
Withdrawable (withdrawable)Allows withdrawal of the token via wallet.
Available for staking (stakable)Allows the token to be used in staking.
Use as payment (usedToPay)Enables the token as a payment method.
Bridgeable (bridgeable)Allows bridge operations between blockchains.
Exchange lock (exchange_lock)Locks the user's balance at the acquisition value (stabilizes against volatility). Creation only and irreversible.
Publish (enabled)Displays the token on the platforms.
Display on tokenization (display_on_tokenization)Displays on the tokenization platform.
Hidden from loop (hidden_from_loop)Removes the token from the automatic quote loop/listing.
Allow MetaMask (allow_metamask)Allows transactions via MetaMask.
Integers only (onlyInteger)Prevents purchase of token fractions.
Automatic hold (automatic_holding)Upon purchase, the user is automatically enrolled in the staking configured for automatic enrollment.
Claim only (claim)The token is obtained only by claim, never by direct purchase.
Stablecoin (stablecoin)Marks the token as a stable currency pegged to an asset.
Buyback (repurchase_mechanism)Allows buyback by the issuer — requires configuring the mechanism in the modal (Configure button).
Referral reward (indicationRewards)Rewards the referrer in tokens — requires configuring in the modal (type, value and cap).

Section: Withdrawal customization

Button to create/edit custom withdrawal fields (withdrawalCustomFields): each field has a key, label, type (text, number, select, date, boolean, textarea), required flag, placeholder, validations and (optionally) marked as sensitive. These fields are then required from the user in this token's withdrawal flow.

Section: Integrations

ToggleSystem/backend effect
BRLA integration (brlaIntegration)Enables integration with the BRLA system for automated operations.
Sync balance (enabled_sync_balance)Automatically synchronizes the token balance with the blockchain.

Section: Exchange integrations

For each provider (Binance, Brasil Bitcoin, Kraken, Alpaca, Nonco): integration toggle, priority, symbol at the provider and market parameters (step size, tick size, min notional where applicable). Saves *_integration, *_priority, *_symbol, *_step_size, *_tick_size, binance_min_notional. Defines how the platform routes orders to that exchange.

Section: Advanced settings

ToggleSystem/backend effect
Operate exchange (operate_exchange)Allows trading the token on the internal exchange.
Integrate book (integrate_book)Integrates with an external order book.
Integrate TradingView (integrate_trading_view)Displays TradingView charts.
Enable market quote (enable_market_quote)Allows the quote to vary with the market on the exchange.
Automatic swap (isAutomaticSwap)Enables fast swap between tokens without manual approval (required for the Swap screen).
Main fiat token (is_main_fiat_token)Sets this as the platform's main fiat token.
Quote only (only_quote)Token used only for quoting — not available for direct purchase and migrates to the Manage Quotas screen.

Settings reference (toggles)

This section documents all toggles in the token form, with the exact label shown on screen (i18n pt-br), the field (ngModel), the actual backend effect and when to use. No toggle is left unexplained. The toggles are spread across the Features, Integrations, Exchange integrations and Advanced settings sections of the Settings group; here they are grouped by logical block.

Block 1 — Trading (group "Trading")

Label (screen)Field (ngModel)What it does (backend effect)When to use
Can be boughttoken.buyableReleases the token for purchase on the platforms. Without this, the token does not appear as buyable.Tokens that users can acquire (most tokens). Disable for claim-only or distribution-only tokens.
Transferabletoken.transferableAllows peer-to-peer transfer via digital wallet.Tokens free to circulate between users. Disable for non-transferable quotas/points.
Available for withdrawaltoken.withdrawableEnables withdrawal of the token via the digital wallet (on-chain or external).Tokens with backing/contract that the user can withdraw. Disable for internal ledger-only tokens.
Available for stakingtoken.stakableAllows the token to be used in staking. Prerequisite for Automatic hold to work.Tokens with a staking/yield program.
Use as payment methodtoken.usedToPayEnables the token as a payment method for products/services on the platform.Points, cashback or stablecoins used at checkout.
Allow bridgetoken.bridgeableMarks the token as eligible for bridge operations between different blockchains.Multi-chain tokens that migrate between networks.
Exchange locktoken.exchange_lockFreezes the user's balance at the acquisition value (protection against volatility). Editable only at creation (mode === 'create'); irreversible.Fiat-backed stablecoins/tokens that cannot fluctuate for the user. A definitive decision.

Block 2 — Visibility (group "Visibility")

Label (screen)Field (ngModel)What it does (backend effect)When to use
Publish tokentoken.enabledDisplays the token on the platforms. When disabled, the token exists but is hidden from the end user.Enable when the registration is complete and the token is ready for use. Use as "draft" when disabled.
Make available via Marketplacetoken.display_on_tokenizationDisplays the token on the tokenization platform/marketplace.Tokens that should appear in the tokenization showcase, in addition to the wallet.
Hide from looptoken.hidden_from_loopRemoves the token's quote from the "loop" (quote ticker at the top of the digital wallet). The token remains functional — it just does not appear in the quote carousel.Tokens whose quote should not pollute the loop (e.g. points, quotas, secondary tokens).
Make available via MetaMasktoken.allow_metamaskAllows the token to be transacted via MetaMask (external wallet).EVM tokens that the user can operate through their own MetaMask.

Block 3 — Behavior (group "Behavior")

Label (screen)Field (ngModel)What it does (backend effect)When to use
Integer values onlytoken.onlyIntegerBlocks the purchase of fractions of the token — only integer quantities.Quotas, tickets, indivisible units.
Automatic holdtoken.automatic_holdingOn purchase/deposit credit, the BalanceHandler checks the token's staking configuration and, if there is a stake marked as hold, automatically enrolls the user in that staking (creates the userStake). Requires Available for staking and a stake with hold = true.Tokens where the purchased position should automatically earn yield/lock without user action.
Claim onlytoken.claimMarks that the token is only obtained by claim, never by direct purchase.Airdrops, rewards and tokens distributed only via claim.
Stablecointoken.stablecoinChanges the provisioning mechanism: on BaaS deposits/purchases, the balance is generated by on-chain mint (mintService.mintToken) instead of a transfer from a custodial account (see finlib.helper and orderPayment.scheduler). Indicates a stable currency with backing. Usually paired with Exchange lock.1:1 backed tokens issued by on-demand mint (e.g. tokenized BRL/USD).

Block 4 — Advanced features (configuration modals)

These two toggles require extra configuration in a modal (button Configure). Enabling without configuring shows the warning "configuration required".

Label (screen)Field (ngModel)What it does (backend effect)When to use
BuybackselectedRepurchase → saves token.repurchase_mechanismEnables buyback of the token by the issuer. The modal defines the mechanism: WITH_EXIT (buyback with exit/redemption) or ORDER_BOOK (buyback via order book); NONE when disabled.Tokens with a buyback/liquidity commitment from the house.
Referral rewardisRewardIndicationSelected → saves token.indicationRewardsEnables referral rewards. The modal configures by type (inviter/invited), payment form (percentage or absolute) and cap (max_threshold) when percentage. Pays the referrer on the invitee's registration and/or on token purchases with the active flag.Member-get-member programs and referral cashback.

Block 5 — Exchange / Book / Quote (group "Advanced settings")

Label (screen)Field (ngModel)What it does (backend effect)When to use
Enable exchangetoken.operate_exchangeAllows trading the token on the platform's internal exchange (own order book).Tokens with an active trading pair on the in-house exchange.
External booktoken.integrate_bookIntegrates the token with an external order book (from an exchange/liquidity provider) instead of only the internal book. Works with the exchange integrations (Binance/Kraken/etc.) that define the source.Tokens whose liquidity/depth comes from an external exchange.
Trading Viewtoken.integrate_trading_viewEnables TradingView charts on the token's quote/trading screen (candlestick/history visualization).Traded tokens where the user should see a professional chart.
Vary quote (Exchange)token.enable_market_quoteMakes the token's quote vary with the market on the exchange. In the purchase settlement (payment.settlement.service), when enabled, the system persists the current exchange rate (storeExchangeRate) on each order execution.Tokens with dynamic (non-fixed) market price.
Enable fast tradingtoken.isAutomaticSwapEnables automatic/fast swap between tokens without manual approval. Prerequisite for the token to appear/work on the Swap screen.Pairs with liquidity for instant exchange.
Main fiat tokentoken.is_main_fiat_tokenMarks the token as the platform's fiat reference. Several services use find(isMainFiatToken) as the base currency for conversions, external deposits and exports; the fallback when absent is 'BRL'. There should be at most one token with this flag.The token representing the tenant's main fiat currency (e.g. tokenized BRL).
Quote onlytoken.only_quoteToken used only for quoting, with no direct purchase. In the token-type separation (separetesCryptoByType in the FMS), tokens with only_quote are classified as investment quotas (go to the Manage Quotas screen).Reference quotas/assets that are not purchased directly via the token screen.

Block 6 — Provider integrations

Simple integrations (group "Integrations")

Label (screen)Field (ngModel)What it does (backend effect)When to use
BRLA integrationtoken.brlaIntegrationEnables integration with the BRLA provider for automated operations (tokenized BRL / on-off ramp provider).Tokens operated via BRLA.
Balance sync enabledtoken.enabled_sync_balanceEnables automatic balance synchronization of the token with the blockchain (on-chain ↔ ledger reconciliation).On-chain tokens whose balance must automatically reflect the network.

Exchange integrations (group "Exchange integrations")

Each provider is a toggle for an external quote/liquidity/book source. When enabled, the token uses that provider as a price source and/or order routing destination. The sub-fields define how to route orders to that provider:

Sub-fieldField (ngModel, e.g. Binance)Role
Priority (lower = higher)token.binance_priorityPreference order among enabled providers — lower number = higher priority. Defines which provider is queried/routed first.
Symbol/ID at the exchangetoken.binance_symbolSymbol of the pair at that exchange (e.g. BTCBRL). Maps the internal token to the provider's ticker.
Step sizetoken.binance_step_sizeMinimum quantity increment accepted by the exchange (lot size). The order is rounded to this step.
Tick sizetoken.binance_tick_sizeMinimum price increment accepted by the exchange. The price is rounded to this step.
Min notionaltoken.binance_min_notionalMinimum total value (price × quantity) of an order accepted by the exchange. Orders below this are rejected. (Exposed in the UI only for Binance.)
Label (screen)Toggle (ngModel)Sub-fields available in the UI
Enable Binancetoken.binance_integrationbinance_priority, binance_symbol, binance_step_size, binance_tick_size, binance_min_notional
Brasil Bitcoin integrationtoken.brasil_bitcoin_integrationbrasil_bitcoin_priority, brasil_bitcoin_symbol, brasil_bitcoin_step_size, brasil_bitcoin_tick_size
Enable Krakentoken.kraken_integrationkraken_priority, kraken_symbol, kraken_step_size, kraken_tick_size
Enable Alpacatoken.alpaca_integrationalpaca_priority, alpaca_symbol, alpaca_step_size, alpaca_tick_size
Enable Noncotoken.nonco_integrationnonco_priority, nonco_symbol, nonco_step_size, nonco_tick_size

When to use exchange integrations

Enable one or more providers when the token's quote and/or liquidity comes from an external exchange (instead of a fixed price or internal book). Configure the correct symbol for that provider, set the priority (if enabling more than one) and adjust step/tick/min notional so that routed orders respect the exchange's precision rules — incorrect values cause the exchange to reject the order.

Precision (BigNumber)

step_size, tick_size and min_notional are market precision parameters. Quantities and prices are treated as BigNumber on the backend — do not round in the configuration; provide exactly the values published by the exchange for the pair.

Actions and modals

  • Save: opens a confirmation modal (bottom sheet). On creation, monetary values (supply, rate, fees) are converted to BigNumber before submission (createToken); on edit, supply/photos/statistics are removed from the payload and only fees are re-converted (saveToken).
  • Configure buyback / Configure referral reward: dedicated modals that are only accessible with the corresponding toggle enabled.
  • Customize withdrawal fields: modal that builds the extra field schema for the withdrawal.
  • Cancel: asks for confirmation before discarding the registration/edit.

Business rules / important notes

Attention

  • Immutable after creation: ticker, name, network, transaction type (tax_type), contract address, supply and exchange lock.
  • The initial price is only editable at creation. From the first purchase onward, the system calculates an average price per user and uses that instead of the current quote.
  • Website is only accepted with http:// / https://; contract is validated by the network format.

Irreversible

  • Exchange lock (exchange_lock): once enabled, there is no way to undo it. It freezes the user's balance at the acquisition value.
  • The on-chain supply mint has no rollback.
  • Financial values: fees, supply, quote and prices are BigNumber — no rounding. Check decimals.

Examples

Scenario 1 — Stablecoin with exchange lock
  1. Identification: ticker BRLX, name "Tokenized BRL", network POLYGON, backing description.
  2. Media: square logo.
  3. Fees: type Percentage, transaction fee 0 and withdrawal fee 0.5%.
  4. Settings → Features: enable Stablecoin, Can be bought, Transferable, Withdrawable, and Exchange lock (aware of irreversibility — the user's balance is locked at the purchase value, shielding against volatility).
  5. Contract: leave the address empty for Axia to create the contract; decimals = 18.
  6. Save. Result: token published, with balance locked per acquisition and a 0.5% withdrawal fee.
Scenario 2 — Import existing USDT via contract address
  1. Identification: ticker USDT, name "Tether USD", network ETHEREUM.
  2. Contract: paste the real contract address of USDT on Ethereum — the format is validated for the network. Since the address was provided, Axia does not create a contract; the token is only referenced/imported.
  3. Quote provider: INTERNAL:USDT (USD quote via internal service) or leave empty for a fixed rate.
  4. Features: enable Can be bought, Transferable, Withdrawable as required by the operation.
  5. Save. Result: the on-chain USDT starts operating within the platform (buy/sell/staking/distribution) using the existing contract.
Scenario 3 — Simple utility token without backing
  1. Identification: ticker PNT, name "Points", network INTERNAL (ledger-only, no on-chain contract).
  2. Media: logo.
  3. Fees: type Percentage, transaction 0, withdrawal 0.
  4. Features: enable Use as payment and Integers only; keep Withdrawable and Transferable disabled if it is a non-redeemable internal point.
  5. Advanced settings: optionally Claim only if the token can only be obtained by claim.
  6. Save. Result: simple internal token, no contract cost, used as a medium of exchange/reward.