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.

Overview

Mavryk (a fork of Tezos) uses the Ed25519 elliptic curve. Addresses are derived with Blake2b-160 hashing and base58check-encoded with the mv1 prefix. Transactions are forged via RPC and injected directly — no webmavryk dependency required. This guide covers Ed25519 (mv1) addresses only. Mavryk also supports Secp256k1 (mv2), P-256 (mv3), and BLS12-381 (mv4); Dynamic’s embedded wallet flow here assumes Ed25519 keys.

Dependencies

Derive Address

Hash the Ed25519 public key with Blake2b-160 and base58check-encode with the mv1 prefix bytes [5, 186, 196]:

Sign a Message

Mavryk uses a 0x05 watermark for arbitrary data signing, followed by Blake2b-256:
Dynamic’s React Native embedded wallet currently exposes Mavryk signing through the Solana (SOL) chain entry for the embedded key. Use the wallet returned by that lookup until Dynamic exposes a Mavryk-specific chain identifier.

Sign a Transaction

Forge the operation via RPC, apply the 0x03 watermark, hash with Blake2b-256, sign, and inject. Automatically prepends a reveal operation if the manager key hasn’t been published yet:
fee, gas_limit, and storage_limit are illustrative values. For production, estimate fees via your node’s RPC (for example helpers/scripts/operation helpers) or another estimator — insufficient limits will cause the node to reject the operation.

Verify a Signature

Check Balance

Last modified on July 24, 2026