SEP-11

SEP-11arrow-up-right defines a standardized way to represent Stellar assets as strings.

Format

  • Native XLM: "native"

  • Issued assets: "CODE:ISSUER" (e.g., "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN")

Functions

isStellarAssetCanonicalString

Check if a value is a valid SEP-11 asset string:

import { isStellarAssetCanonicalString } from "@colibri/core";

isStellarAssetCanonicalString("native"); // true
isStellarAssetCanonicalString(
  "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
); // true
isStellarAssetCanonicalString("invalid"); // false
isStellarAssetCanonicalString(123); // false (type guard)

parseStellarAssetCanonicalString

Parse a SEP-11 string into code and issuer:

isNativeStellarAssetCanonicalString

Check if a SEP-11 asset is native XLM:

toStellarAssetCanonicalString

Create a SEP-11 string from code and issuer:

Type

Validation Rules

The isStellarAssetCanonicalString function validates:

  1. Type check: Value must be a string

  2. Native format: "native" is always valid

  3. Colon format: Must contain exactly one colon (:)

  4. Asset code: 1-12 alphanumeric characters before the colon

  5. Issuer: Valid Stellar Ed25519 public key (G...) after the colon

See Also

Last updated