Intermediate5 min read
Edit on GitHub

dApp Developer Path

Learn to integrate Cardano into decentralized applications with smart contract support

Welcome to the dApp Developer learning path. This guide will teach you how to build decentralized applications that interact with Cardano smart contracts.

What You'll Learn

By the end of this path, you'll be able to:

  • Connect to browser wallets (Nami, Eternl, Lace)
  • Build transactions that interact with Plutus scripts
  • Evaluate transaction costs before submission
  • Handle script execution errors gracefully
  • Implement common dApp patterns (swaps, minting, etc.)

Prerequisites

Before starting, you should have:

  • Completed the Wallet Developer Path or equivalent knowledge
  • Understanding of Cardano's eUTxO model
  • Familiarity with Plutus or Aiken smart contracts (conceptually)
  • A Nacho API key from your dashboard

Path Overview

Core Concepts

Extended UTxO (eUTxO)

Cardano's smart contracts extend the UTxO model with:

  • Datum: Data attached to script-locked UTxOs
  • Redeemer: Data provided when spending script UTxOs
  • Validator Script: On-chain code that validates spending
Traditional UTxO:  Owner (public key) → can spend

Extended UTxO:     Script + Datum → Redeemer required to spend
                   Script validates: (Datum, Redeemer, ScriptContext) → Bool

Script Addresses

Scripts have their own addresses, derived from the script hash:

TypeExample PrefixDescription
Plutus V1addr1w...Original Plutus scripts
Plutus V2addr1w...Reference inputs, inline datums
Plutus V3addr1w...Conway era features

Reference Scripts

Instead of including the full script in every transaction, you can:

  1. Store the script in a UTxO (reference script)
  2. Reference that UTxO in transactions
  3. Save significant transaction fees

dApp Architecture

dApp Architecture

Your dApp Frontend
Wallet Connector
Tx Builder
Contract State
Browser Wallet (Nami, Eternl)
Nacho API evaluateTx
Nacho API queryLedgerState

API Endpoints for dApps

EndpointPurpose
queryLedgerState/utxoQuery script UTxOs with datums
evaluateTransactionCalculate execution units (before signing)
submitTransactionSubmit signed transactions
queryLedgerState/protocolParametersGet current fee parameters

Common dApp Patterns

DEX Swaps

  1. Query pool UTxO to get current liquidity
  2. Build swap transaction with redeemer
  3. Evaluate to get execution costs
  4. User signs, submit

NFT Minting

  1. Build transaction with minting policy
  2. Include metadata (CIP-25)
  3. Evaluate, sign, submit

Escrow / Vesting

  1. Lock funds at script address with datum
  2. Query script UTxOs
  3. Build claim transaction with redeemer
  4. Script validates claim conditions

Next Steps

Ready to start building? Begin with wallet integration:

Start: Handle User Wallets

Was this page helpful?