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

# Using chains with Tier 3 support

> Embedded wallet derivation only

Tier 3 provides embedded wallet derivation only — no EOA support. This covers chains not listed in Tier 1 or Tier 2, including experimental networks, new chains, and any blockchain where you need to build derivation and signing support entirely from scratch.

## How it works

Dynamic doesn't provide chain-specific helpers for Tier 3 chains. Instead, you use the same underlying primitives that power Tier 2:

* **Raw signing** — `signMessage` and `signRawMessage` work on any chain. You construct the transaction bytes and hash them according to the chain's spec, then pass the digest to Dynamic for signing.
* **Key recovery** — For secp256k1 chains, use EIP-191 `personal_sign` + ecrecover to recover the compressed public key from the EVM wallet.
* **Ed25519 public key** — For Ed25519 chains, the Solana wallet address decodes directly to the 32-byte public key.

The [technical overview for chains with Tier 2 support](/javascript/reference/tier-2-chains/overview) documents these primitives in detail, including shared utility functions and the full signing pattern.

## When to use Tier 3

* You need a chain that isn't in Tier 1 or Tier 2
* You're prototyping support for an experimental or newly launched network
* You need a custom derivation path or address format not covered by existing guides

## Supported curve families

| Curve                      | Root Wallet            | What you build                                                          |
| -------------------------- | ---------------------- | ----------------------------------------------------------------------- |
| secp256k1                  | EVM embedded wallet    | Chain-specific address encoding, transaction serialization, and signing |
| Ed25519                    | Solana embedded wallet | Chain-specific address encoding, transaction serialization, and signing |
| Other (BLS, Schnorr, etc.) | —                      | Requires native SDK support; contact us to discuss                      |

### Ed25519 chains (examples)

Any chain using Ed25519 can use the Solana embedded wallet as its signing root. The 32-byte Ed25519 public key is recovered by base58-decoding the Solana wallet address. Examples of chains in this category:

* **NEAR** — hex-encoded implicit account from public key
* **Cardano** — bech32 enterprise address with Blake2b-224 hashing
* **Mavryk** — base58check mv1 address with Blake2b-160 hashing
* **Stellar (XLM)** — base32 (Strkey) encoded address with checksum
* **IOTA** — Ed25519-based address with BLAKE2b hashing
* **Filecoin (f3)** — BLS/Ed25519 addresses with custom encoding
* Any other Ed25519-based L1 or app-chain

### secp256k1 chains (examples)

Any chain using secp256k1 can use the EVM embedded wallet as its signing root. The compressed public key is recovered via `signRawMessage` + ecrecover. Examples:

* **XRP (Ripple)** — Ripple base58check encoding with SHA-256 + RIPEMD-160 hashing
* **Kaspa** — Blake2b-256 hashed address with bech32m encoding
* **Litecoin** — P2PKH/P2SH with base58check
* **Dogecoin** — P2PKH with base58check (version byte 0x1e)
* Any other UTXO chain sharing EVM's curve

### Other curves

Chains using BLS12-381, Ristretto, or other curves cannot reuse the EVM or Solana key material. [Contact us](https://www.dynamic.xyz/contact) to discuss native SDK support for these chains.

## Getting started

1. Identify which curve the chain uses (secp256k1 or Ed25519)
2. Follow the [technical overview for chains with Tier 2 support](/javascript/reference/tier-2-chains/overview) to set up the Dynamic client and extract the root public key
3. Implement chain-specific address derivation and transaction serialization based on the chain's documentation
4. Use `signRawMessage` to sign transaction digests with the appropriate root wallet

If the chain uses a curve other than secp256k1 or Ed25519, [contact us](https://www.dynamic.xyz/contact) to discuss adding native SDK support.
