Configuration API

Overview

The Configuration API provides information about supported chains, tokens, and network configurations. Use these endpoints to dynamically discover available mint and burn options.

Endpoints

Get Mint Configuration

Retrieves supported source chains, destination chains, and tokens for mint operations.

Endpoint: GET /config/mint

Headers: None required (public endpoint)

Response (200 OK):

{
  "success": true,
  "data": {
    "sourceChains": [
      {
        "name": "Solana",
        "symbol": "sol",
        "type": "main",
        "tokens": [
          {
            "name": "Solana",
            "symbol": "SOL",
            "decimals": 9
          }
        ]
      },
      {
        "name": "XRP Ledger",
        "symbol": "xrp",
        "type": "main",
        "tokens": [
          {
            "name": "XRP",
            "symbol": "XRP",
            "decimals": 6
          }
        ]
      },
      {
        "name": "Sui",
        "symbol": "sui",
        "type": "main",
        "tokens": [
          {
            "name": "Sui",
            "symbol": "SUI",
            "decimals": 9
          }
        ]
      },
      {
        "name": "Dogecoin",
        "symbol": "doge",
        "type": "main",
        "tokens": [
          {
            "name": "Dogecoin",
            "symbol": "DOGE",
            "decimals": 8
          }
        ]
      },
      {
        "name": "Zcash",
        "symbol": "zec",
        "type": "main",
        "tokens": [
          {
            "name": "Zcash",
            "symbol": "ZEC",
            "decimals": 8
          }
        ]
      }
    ],
    "destinationChains": [
      {
        "name": "Base",
        "symbol": "base",
        "type": "main",
        "chainId": 8453,
        "vm": "EVM",
        "tokens": [
          {
            "name": "Universal Solana",
            "symbol": "uSOL",
            "decimals": 18
          },
          {
            "name": "Universal XRP",
            "symbol": "uXRP",
            "decimals": 18
          },
          {
            "name": "Universal Sui",
            "symbol": "uSUI",
            "decimals": 18
          },
          {
            "name": "Universal Dogecoin",
            "symbol": "uDOGE",
            "decimals": 18
          },
          {
            "name": "Universal Zcash",
            "symbol": "uZEC",
            "decimals": 18
          }
        ]
      },
      {
        "name": "Arbitrum",
        "symbol": "arbitrum",
        "type": "main",
        "chainId": 42161,
        "vm": "EVM",
        "tokens": [
          {
            "name": "Universal Solana",
            "symbol": "uSOL",
            "decimals": 18
          },
          {
            "name": "Universal XRP",
            "symbol": "uXRP",
            "decimals": 18
          },
          {
            "name": "Universal Sui",
            "symbol": "uSUI",
            "decimals": 18
          },
          {
            "name": "Universal Dogecoin",
            "symbol": "uDOGE",
            "decimals": 18
          },
          {
            "name": "Universal Zcash",
            "symbol": "uZEC",
            "decimals": 18
          }
        ]
      }
    ],
    "supportedTokens": [
      {
        "name": "Solana",
        "symbol": "SOL",
        "decimals": 9
      },
      {
        "name": "XRP",
        "symbol": "XRP",
        "decimals": 6
      },
      {
        "name": "Sui",
        "symbol": "SUI",
        "decimals": 9
      },
      {
        "name": "Dogecoin",
        "symbol": "DOGE",
        "decimals": 8
      },
      {
        "name": "Zcash",
        "symbol": "ZEC",
        "decimals": 8
      }
    ]
  }
}

cURL Example:

Get Burn Configuration

Retrieves supported source chains, destination chains, and tokens for burn operations.

Endpoint: GET /config/burn

Headers: None required (public endpoint)

Response (200 OK):

cURL Example:

Response Fields

Chain Object

Field
Type
Description

name

string

Full chain name (e.g., "Base", "Solana")

symbol

string

Short chain identifier (e.g., "base", "sol")

type

string

Network type - main for mainnet

chainId

number

EVM chain ID (EVM chains only)

vm

string

Virtual machine type - EVM for EVM chains

tokens

array

Array of supported tokens on this chain

Token Object

Field
Type
Description

name

string

Full token name (e.g., "Solana", "Universal Solana")

symbol

string

Token symbol (e.g., "SOL", "uSOL")

decimals

number

Number of decimal places

minimumBurnAmount

string

Minimum burn amount in wei (burn config only)

Supported Networks

Source Chains (Mint):

  • sol (Solana)

  • xrp (XRP Ledger)

  • sui (Sui)

  • doge (Dogecoin)

  • zec (Zcash)

Destination Chains (Mint/Burn):

  • base (Base - Chain ID: 8453)

  • arbitrum (Arbitrum One - Chain ID: 42161)

  • katana (Katana - Chain ID: 747474)

  • world (World Chain - Chain ID: 480)

  • unichain (Unichain - Chain ID: 130)

Use Cases

Dynamic UI Generation

Validate User Input

Get Token Decimals

Check Minimum Burn Amount

Chain IDs Reference

EVM Chains

Chain
Chain ID
Symbol

Base

8453

base

Arbitrum One

42161

arbitrum

Katana

747474

katana

World Chain

480

world

Unichain

130

unichain

Token Decimals Reference

Native Tokens (Mint Source)

Token
Decimals
Smallest Unit

SOL

9

lamports

XRP

6

drops

SUI

9

MIST

DOGE

8

koinus (satoshis)

ZEC

8

zatoshis

Universal Tokens (All uAssets)

Token
Decimals
Smallest Unit

uSOL, uXRP, uSUI, uDOGE, uZEC

18

wei

Note: All universal tokens (uAssets) use 18 decimals, regardless of their native token's decimals.

Best Practices

  1. Cache Configuration: Cache config responses for 1-24 hours to reduce API calls

  2. Filter by Type: In production, always filter chains by type: "main"

  3. Dynamic Validation: Use config endpoints to validate user input dynamically

  4. Decimal Handling: Use the provided decimals for accurate amount conversion

  5. Refresh Periodically: Refresh configuration periodically to catch new chain additions

Next Steps

  • Mint API - Use chain configuration for mint operations

  • Burn API - Use token minimums for burn operations

  • Examples - See configuration in action

Last updated