Symbol Already In Use

How the SymbolAlreadyInUse error signals that a submitted subnet symbol is valid, but another subnet is already using it.

SymbolAlreadyInUse is a documented Subtensor standard error. The standard-errors reference describes it simply as “Symbol already in use” (Subtensor Standard Errors).

What It Means

This error means the submitted symbol is a recognized symbol, but the chain finds that another subnet already uses the same symbol. In symbols.rs, ensure_symbol_available iterates through stored TokenSymbol values and returns SymbolAlreadyInUse when the submitted symbol is already present (Subtensor source: symbols.rs).

So the rejection is about reuse, not about symbol validity. The symbol itself passes the existence question; the problem is that the same valid symbol is already assigned elsewhere (Subtensor Standard Errors, Subtensor source: symbols.rs).

Why It Appears

The chain keeps track of symbols already assigned to subnets. When a submitted symbol matches one of those stored values, ensure_symbol_available rejects the duplicate instead of allowing two subnets to share the same symbol (Subtensor source: symbols.rs).

For a reader, the practical meaning is narrow: the chain is not saying the symbol is unknown. It is saying the symbol is known and valid, but unavailable because another subnet already has it (Subtensor Standard Errors, Subtensor Standard Errors: SymbolDoesNotExist).

Distinction from Symbol Does Not Exist

SymbolAlreadyInUse and SymbolDoesNotExist reject different symbol problems. SymbolAlreadyInUse means the symbol is valid, but unavailable because it is already assigned. SymbolDoesNotExist means the submitted symbol is outside the chain’s allowed symbol set (Subtensor Standard Errors, Subtensor Standard Errors: SymbolDoesNotExist, Subtensor source: symbols.rs).

  • SymbolAlreadyInUse — the symbol is valid, but another subnet already uses it.
  • SymbolDoesNotExist — the symbol is not in the chain’s allowed symbol set.

Reader Boundary

This page defines the meaning of the error label and the reuse check that raises it. It does not explain the full subnet-symbol assignment process or the full symbol-selection strategy beyond this one rejection condition (Subtensor source: symbols.rs).

Further Reading

Topics SubnetsErrors