mesh-wallet

Use when integrating Cardano wallets with MeshJS SDK. Covers browser wallet connection (CIP-30) for Eternl, Nami, Lace, Flint, and Yoroi, headless server-side wallets from mnemonic or private keys, transaction signing, CIP-8 data signing for authentication, multi-signature workflows, and React wallet integration patterns.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mesh-wallet" with this command: npx skills add meshjs/skills/meshjs-skills-mesh-wallet

Mesh SDK Wallet Skill

AI-assisted Cardano wallet integration using @meshsdk/wallet.

Package Info

npm install @meshsdk/wallet
# or
npm install @meshsdk/core  # includes wallet + transaction + provider

Two Wallet Types

TypeClassUse Case
BrowserMeshCardanoBrowserWalletWeb apps - connect to Eternl, Nami, Flint, etc.
HeadlessMeshCardanoHeadlessWalletServer-side, CLI, backend - from mnemonic/keys

Quick Reference

Browser Wallet (CIP-30)

import { MeshCardanoBrowserWallet } from '@meshsdk/wallet';

// List installed wallets
const wallets = MeshCardanoBrowserWallet.getInstalledWallets();
// → [{ id: 'eternl', name: 'Eternl', icon: '...', version: '...' }, ...]

// Connect to wallet
const wallet = await MeshCardanoBrowserWallet.enable('eternl');

// Get addresses (Bech32)
const addresses = await wallet.getUsedAddressesBech32();
const changeAddr = await wallet.getChangeAddressBech32();
const stakeAddrs = await wallet.getRewardAddressesBech32();

// Get UTxOs and balance (Mesh format)
const utxos = await wallet.getUtxosMesh();
const balance = await wallet.getBalanceMesh();
const collateral = await wallet.getCollateralMesh();

// Sign and submit
const signedTx = await wallet.signTxReturnFullTx(unsignedTxHex);
const txHash = await wallet.submitTx(signedTx);

// Sign data (CIP-8)
const signature = await wallet.signData(address, 'Hello Cardano!');

Headless Wallet (Server-Side)

import { MeshCardanoHeadlessWallet } from '@meshsdk/wallet';
import { BlockfrostProvider } from '@meshsdk/core';

const provider = new BlockfrostProvider('your-api-key');

// From mnemonic
const wallet = await MeshCardanoHeadlessWallet.fromMnemonic({
  mnemonic: ['word1', 'word2', ...],  // 24 words
  networkId: 0,  // 0 = testnet, 1 = mainnet
  walletAddressType: 'Base',  // 'Base' or 'Enterprise'
  fetcher: provider,
  submitter: provider,
});

// Same API as browser wallet
const address = await wallet.getChangeAddressBech32();
const utxos = await wallet.getUtxosMesh();
const signedTx = await wallet.signTxReturnFullTx(unsignedTxHex);

Files

CIP-30 Methods

Standard wallet interface methods:

MethodReturnsDescription
getNetworkId()number0 = testnet, 1 = mainnet
getUtxos()string[]UTxOs in CBOR hex
getCollateral()string[]Collateral UTxOs in CBOR hex
getBalance()stringBalance in CBOR hex
getUsedAddresses()string[]Addresses in hex
getUnusedAddresses()string[]Addresses in hex
getChangeAddress()stringAddress in hex
getRewardAddresses()string[]Stake addresses in hex
signTx(tx, partial)stringWitness set in CBOR hex
signData(addr, data)DataSignatureCIP-8 signature
submitTx(tx)stringTransaction hash

Mesh Extensions

Enhanced methods for better developer experience:

MethodReturnsDescription
getUtxosMesh()UTxO[]UTxOs in Mesh format
getCollateralMesh()UTxO[]Collateral in Mesh format
getBalanceMesh()Asset[]Balance in Mesh format
getUsedAddressesBech32()string[]Bech32 addresses
getUnusedAddressesBech32()string[]Bech32 addresses
getChangeAddressBech32()stringBech32 address
getRewardAddressesBech32()string[]Bech32 stake addresses
signTxReturnFullTx(tx, partial)stringFull signed tx (not just witness)

Important Notes

  1. Browser wallet requires user interaction - enable() prompts the user
  2. Headless wallet needs fetcher - For UTxO queries and signing
  3. Network ID matters - 0 for testnet/preprod, 1 for mainnet
  4. Collateral is auto-selected - Returns smallest pure-ADA UTxO >= 5 ADA

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

mesh-core-cst

No summary provided by upstream source.

Repository SourceNeeds Review
General

mesh-transaction

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

crypto-report

No summary provided by upstream source.

Repository SourceNeeds Review
765-aahl
Web3

agentwallet

No summary provided by upstream source.

Repository SourceNeeds Review