Evolution SDK
Introduction

Getting Started

Quick start guide to your first Evolution SDK transaction

Getting Started

Evolution SDK is a type-safe, composable toolkit for building Cardano applications. With Effect-TS at its core, you get compile-time safety, composable operations, and a unified API that works consistently across all features.

This guide walks you through building your first transaction—from creating a client to submitting on-chain. You'll learn the essential pattern that applies to everything in Evolution SDK: configure once, compose freely.

Perfect for developers new to the SDK or those migrating from other Cardano libraries looking for a working foundation to build upon.

Prerequisites

  • Node.js 18+ or browser environment with ES modules support
  • Basic TypeScript knowledge
  • A Cardano testnet wallet with some tADA (get from faucet)

Your First Transaction

1. Installation

npm install @evolution-sdk/evolution

2. Create a Wallet

Instantiate a wallet using your seed phrase or private keys:

import {  } from "@evolution-sdk/evolution";

const  = ({
  : "preprod",
  : {
    : "seed",
    : "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
    : 0
  }
});

See Creating Wallets for all wallet types.

3. Attach a Provider

Connect to the blockchain via a provider:

import {  } from "@evolution-sdk/evolution";

const  = ({
  : "preprod",
  : {
    : "blockfrost",
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  },
  : {
    : "seed",
    : "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
    : 0
  }
});

Learn more in Clients and Providers.

4. Build a Transaction

Construct your first payment:

const  = await 
  .()
  .({ 
    : ..("addr_test1qzrf9g3ea6hdc5vfujgrpjc0c0xq3qqkz8zkpwh3s6nqzhgey8k3eq73kr0gcqd7cyy75s0qqx0qqx0qqx0qqx0qx7e8pq"),
    : ..(2_000_000n)
  })
  .();

Details in Transactions.

5. Sign & Submit

Sign with your wallet and send to the network:

const  = await .();
const  = await .();
.("Transaction submitted:", );

What's Next?

  • Clients - Connect to different blockchains and providers
  • Wallets - Explore all wallet types and key management
  • Transactions - Build complex multi-output transactions
  • Querying - Query UTxOs and blockchain state
  • API Reference - Full API documentation

Need Help?

Check out Addresses, Assets, and Advanced for deeper topics.