> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metastreams.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Chains

> The chain slugs the API accepts, and what each chain's native unit is.

Every token-scoped path names its chain with a slug: `/v1/tokens/{chain}/{address}`. Request bodies, query parameters and stream filters use the same slugs.

## Supported chains

| Slug | Chain | Address format | Native unit |
| - | - | - | - |
| `solana` | Solana | Base58 | SOL |
| `base` | Base | `0x` hex | ETH |
| `bsc` | BNB Smart Chain | `0x` hex | BNB |
| `robinhood` | Robinhood Chain | `0x` hex | ETH |

The native unit is what the `native` leg of every [money object](/concepts/reading-responses#money-objects) on that chain is denominated in.

## Rules

* Slugs are lowercase and exact. The API accepts no aliases (`sol`, `bnb`), no numeric chain IDs (`56`, `8453`) and no other casing (`Solana`).
* An address must match its chain's format. A Base58 address on `base`, for example, is rejected.
* New chains can be added at any time without a version change.

## Unsupported chains

An unknown slug returns `400 UNSUPPORTED_CHAIN`. `details.chain` repeats the slug you sent, and the message ends with every slug the API accepts:

```json theme={null}
{
  "error": {
    "code": "UNSUPPORTED_CHAIN",
    "message": "Chain 'eth' is not supported. Supported chains: solana, base, bsc, robinhood, ...",
    "details": { "chain": "eth" }
  }
}
```

## Mismatched addresses

An address in the wrong format for its chain returns `400 VALIDATION_ERROR`:

```json theme={null}
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "One or more parameters are invalid.",
    "details": [
      { "field": "address", "message": "Does not match the chain's address format." }
    ]
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.