Build your application with ease on Cardano

Mesh is an open-source library providing numerous tools to easily build powerful dApps on the Cardano blockchain. Ranging from wallet interactions to transaction building, it can power applications with varying levels of complexity, limited only by your imagination.

Get started

The most advanced SDK on Cardano

Here are a few reasons why you should choose Mesh

Always up to date

Mesh is developed closely to network updates. By using Mesh, your application will always be ready for the latest network changes, so you can focus on building your application.

Check out our change logs

Simple to use

Getting started with dApp development has never been this easy. Mesh is conceived in a way that facilitates and speeds up development of decentralised applications.

Best practices

Mesh follows many CIPs that make it interoprable with other Cardano tools. In addition, the package is less than 300kB! This means your application is fast, responsive and adheres to standards.

React Components

Frontend components for wallet connections, and useful React hooks to getting wallet states - Mesh provides everything you need to bring your Web3 user interface to life.

Learn more about React components
import { CardanoWallet } from '@martifylabs/mesh-react';

export default function Page() {
  return (
    <>
      <CardanoWallet />
    </>
  );
}

Chainable Transaction Builder

Mesh enables the creation of complex transactions. You can send ADA and NFTS to multiple addresses, lock and unlock from smart contracts, all with a single transaction.

Learn to build transactions
import { Transaction } from '@martifylabs/mesh';

const tx = new Transaction({ initiator: wallet })
  // see /apis/transaction/basic
  .sendLovelace(
    'addr_test1vpvx0sac...dh64kv0c7e4cxr',
    '1000000'
  )
  // see /apis/transaction/basic
  .sendAssets(
    'addr_test1vpvx0sac...dh64kv0c7e4cxr',
    [
      {
        unit: '64af286e2ad0df4de2e7de15f...6f6b656e',
        quantity: '1',
      },
    ]
  )
;

const unsignedTx = await tx.build();
const signedTx = await wallet.signTx(unsignedTx);
const txHash = await wallet.submitTx(signedTx);

Get started in minutes

Set up entirely new application using the Mesh CLI. Choose from one of our starter kit, pick a language and framework of your choice.

Get started with templates
npx create-mesh-app starter-next-typescript