Tokens & Bonding Curves
Create a Token (Dashboard)

Create a Token from the Dashboard

Token creation lives at superhero.com/trends/create (opens in a new tab). You type a name, optionally decide how much of your own token to buy at launch, and sign one transaction. Behind the form, CommunityFactory.create_community deploys the token, the sale contract, the DAO and the community management contract together, and executes your initial buy in the same transaction.

You deploy from your own wallet. Superhero does not hold your keys or own the contracts, and takes no cut beyond the protocol fees described below.

Before you start

RequirementDetail
A connected walletThe submit button is replaced by Connect Wallet until one is connected
AE for gasA small amount, about 0.001 AE for the creation
AE for the initial buyOptional. Zero is allowed and creates the token with zero supply
A name no one has takenChecked live as you type

The name field

The name is the token's identity, its symbol, and its URL: /trends/tokens/YOURNAME. It is the only field in this form you cannot change later.

The input uppercases and replaces spaces with dashes on every keystroke, so my token becomes MY-TOKEN as you type. The field is capped at 20 characters, with a counter underneath. Collections carry their own casing rules (the English collection accepts A–Z, the Russian one accepts А–Я), and uppercasing is what makes a typed name detectable.

While an IME composition is active (typing Chinese through pinyin, for example), the input holds intermediate Latin text that belongs to no collection. Normalisation and the "unsupported" verdict are suspended until the composition commits.

The collection chip

To the right of the name, a chip names the collection your token will be created in. It is derived from the characters you typed, not chosen up front:

  1. Every collection in the factory schema publishes an allowed_name_chars rule set. The app turns each into a regular expression and tests your name against all of them.
  2. No collection matches → a red Unsupported badge appears and the submit button is disabled. A name no collection accepts would only fail on-chain, so the UI refuses it first.
  3. Exactly one matches → a green chip names it, and there is nothing to choose.
  4. More than one matches → the chip becomes a dropdown. Every collection allows -, so a name like A-B fits several; English is preferred by default.

The chip shows the human label, not the on-chain id: the WORDS collection is displayed as English. See Collections & Naming Rules for the full rules.

The availability check

400 ms after you stop typing, the app searches the token index for an exact name match:

IndicatorMeaning
SpinnerThe lookup is in flight
Green tickAvailable; you can submit
Red crossTaken. A Trading live panel appears with the existing token's price and holder count, and a BUY TOKEN button that takes you to its page instead

When the name is taken, the initial-buy section and the submit button are disabled. The check is an index lookup, not a chain read: the factory's on-chain has_community check is what rejects a duplicate, and a name claimed seconds before yours fails at signing time with NAME_ALREADY_REGISTERED.

The initial buy: two input modes

The section under the name is a pre-buy: tokens minted to you as part of the creation transaction, at the very start of the curve, before anyone else can buy. The link on the right toggles between two ways of expressing the same thing.

Mode 1: Amount to spend (AE)

You type an AE figure; the app tells you how many tokens that buys, solving the curve backwards by bisection from a starting supply of zero. Quick-pick buttons offer 1, 10, 100, 500 and 100,000 AE. At the launch supply those correspond to:

AE spentTokens received (approx.)Average price paid (AE)Spot price after the buy (AE)
1437,0142.29e-64.48e-6
101,400,9937.14e-61.42e-5
1004,429,2802.26e-54.54e-5
5009,826,5625.09e-51.03e-4
100,000114,613,9828.72e-42.15e-3

Mode 2: Tokens to buy

You type a token count; the app tells you what it costs, labelled (incl. fees): the curve integral multiplied by 1.005 for the 0.5% affiliation fee. Quick-pick buttons offer 500K, 1M, 5M, 10M and 100M tokens:

TokensCurve cost (AE)Displayed cost incl. 0.5% fee (AE)
500,0001.3020861.308596
1,000,0005.1167085.142292
5,000,000127.609638128.247686
10,000,000518.091808520.682267
100,000,00071,838.18284672,197.373760

The AE-mode estimate is computed from the bare curve and does not subtract the affiliation fee, while the token-mode estimate adds it, so expect the AE mode to deliver slightly fewer tokens than it shows. Both estimates are computed from supply zero, which is correct: the token does not exist yet. The same helpers price the trade card of an existing token, fed the live supply instead.

What you sign

One create_community call on the factory, with AE attached to cover the initial buy:

create_community(
  collection_name,     // the derived collection id, e.g. "WORDS-ak_..."
  name,                // your uppercase name
  initial_buy_count,   // token count, in 18-decimal units; 0 for no pre-buy
  is_private,          // always false from this form
  meta_info            // a string -> string map
)  =>  (DAO, TokenSale, CommunityManagement)

The attached amount is estimated using the fee percentage read from the factory's own fee_percentage() and fee_precision() entrypoints.

An over-estimate costs you nothing. create_community requires Call.value >= price(initial_buy_count) and refunds the difference with Chain.spend(Call.caller, overpaid_refund) in the same transaction. An under-estimate aborts with VALUE_HAS_TO_BE_GREATER_THAN_BUY_PRICE and the whole creation fails. Nothing is half-created.

The form returns as soon as the transaction is broadcast and navigates you to /trends/tokens/YOURNAME?created=true&txHash=... while it is still being mined. Expect 2–5 minutes before the token page populates.

meta_info is submitted with fixed placeholder values (collection: "word" and empty description, website and twitter fields); the form has no inputs for them. The community can change its metadata afterwards by DAO vote through CommunityManagement.change_meta_info.

What it costs

ComponentAmount
Gas for create_communitySmall; about 0.001 AE
Initial buyWhatever you chose, or zero
Affiliation fee on the initial buy0.5% of the curve value, included in the attached amount
Creation feeNone. create_community charges nothing beyond the buy
OngoingNothing. There is no listing fee or rent

Creating a token inside an existing collection is free. Creating a collection is not. That is create_collection, which requires exactly 555 AE and burns it. See Collections & Naming Rules.

An initial buy also mints you ProtocolDAO tokens at 1,000× the AE you spent, minted directly by the factory.

Creating with a zero initial buy is free apart from gas, and leaves the token at supply zero with a spot price of 0.0000001 AE. Anyone, including you, can buy first afterwards.

When it fails

SymptomCauseWhat to do
Submit button stays disabledName empty, still checking, taken, or matched by no collectionFix the name; the chip and tick tell you which
NAME_ALREADY_REGISTERED after signingSomeone claimed the name between your index check and your transactionThe app re-searches and shows you the existing token's address. Pick another name
"Collection not found"The factory schema had not loaded when you submittedReload the page and retry
"Wallet not connected" / no signature promptWallet session droppedReconnect and retry
Nothing on the token page after 5 minutesTransaction still pending, or it failedLook up the txHash from the URL on aeScan (opens in a new tab)

A failed creation costs you gas and nothing else. The whole deployment is one transaction, so no partial community is left behind.

After it is mined

Your token is live and tradeable immediately.

  • Open /trends/tokens/YOURNAME and check the Info tab for the sale, token, DAO and creator addresses.
  • Post about it. The community feed and the token's chat room are attached to the same page.
  • Read Reading a Token Page to interpret what happens next.

Related