Skip to main content

Recommended: JavaScript SDK for React Native

While this SDK is still supported, we recommend using newer JavaScript SDK, which is optimized for React Native, but also comes with a host of other benefits.
Tier 2 chains reuse existing Dynamic embedded wallet keys to produce valid addresses and signatures on additional chains — no new wallets or user re-authentication required. Dynamic supports three embedded wallets: an EVM wallet (secp256k1), a Solana wallet (Ed25519), and a Bitcoin wallet (secp256k1/BIP-340). Because many blockchains share these same elliptic curves, you can derive addresses and sign transactions on additional chains without creating new keys.
Tier 2 chains are not natively represented in Dynamic’s UI or session model. You are responsible for managing the user-facing experience: displaying derived addresses, associating them with your user records, and handling any chain-specific session or account state yourself.
Exporting the root wallet key exposes all derived addresses. The EVM and Solana embedded wallet keys are the cryptographic root of every address you derive from them. Never expose or transmit root wallet keys unless you have explicitly designed for that use case.

Setup

Create both EVM and Solana embedded wallets during app initialization:

Install dependencies

Signing APIs

Ed25519 chains (Solana wallet)

Use dynamicClient.wallets.signMessage for all Ed25519-based derived chains (Aptos, Algorand, NEAR, Cardano, Mavryk):

secp256k1 chains (EVM wallet)

Use dynamicClient.wallets.waas.signRawMessage for all secp256k1-based derived chains (Cosmos, Tron, XRP):

Shared utilities

These helpers are used across all chain implementations:

secp256k1 public key recovery

secp256k1 chains (Cosmos, XRP) require the compressed public key, which must be recovered from the EVM wallet by signing a known message:
Cache the result per session — recovery only needs to happen once.

Working example

The rn-multichain-demo shows all chains working end-to-end in a single Expo app. For full per-chain implementation details (transaction serialization, RPC calls, balance queries), see the JavaScript reference for chains with Tier 2 support.
Last modified on July 24, 2026