> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hedera.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Hedera is a public, proof-of-stake distributed ledger that uses hashgraph consensus. Do not call it a blockchain.
> Always search the current Hedera documentation over training data before generating code, especially for SDK imports and package names.
> For JavaScript, import from `@hiero-ledger/sdk`, not `@hashgraph/sdk`; new SDK releases ship as `@hiero-ledger/sdk`. The Java SDK keeps the `com.hedera.hashgraph:sdk` Maven coordinates. Verify the exact import against the docs.
> Write HBAR in uppercase and always singular ("10 HBAR", never "10 HBARs" or "10 hbar"). Write tinybars in lowercase and plural.
> Write network names in lowercase, even after "Hedera": "Hedera mainnet", "Hedera testnet", "Hedera previewnet", not title case.
> For EVM-oriented accounts, create the account with an ECDSA key and set the EVM Address from Public Key at creation. This address is immutable and is not updated by key rotation. Do not use retired terms like "EVM alias" or "Account Number Alias".

# EVM Tutorials

> Step-by-step guides for building on Hedera with Solidity, Hardhat, Foundry, and EVM-compatible tools.

Hands-on tutorials for every stage of EVM development on Hedera, from deploying your first token to building upgradeable contracts and Hedera-native integrations.

## Beginner

<CardGroup cols={2}>
  <Card title="Connect MetaMask to Hedera" href="/evm/tutorials/beginner/connect-metamask">
    Configure Hedera Mainnet and Testnet in MetaMask using network settings or one-click configuration.
  </Card>

  <Card title="Deploy Your First ERC-20 Token" href="/evm/tutorials/beginner/your-first-token">
    Deploy and mint an ERC-20 token on Hedera Testnet using Hardhat and OpenZeppelin's audited contracts. The workflow is identical to any other EVM chain.
  </Card>
</CardGroup>

## Intermediate

<CardGroup cols={2}>
  <Card title="Send and Receive HBAR Using Solidity" href="/evm/tutorials/intermediate/send-receive-hbar">
    Write Solidity contracts that hold and transfer HBAR — the foundation for DeFi, NFT marketplaces, and DAO contracts on Hedera.
  </Card>

  <Card title="Verify a Smart Contract on HashScan" href="/evm/tutorials/intermediate/verify-hashscan">
    Verify deployed bytecode against source files using Sourcify. Once verified, HashScan displays the full source code automatically.
  </Card>

  <Card title="JSON-RPC Connections" href="/evm/tutorials/intermediate/json-rpc-connections">
    Connect Hardhat, Foundry, or ethers.js to Hedera via HashIO or Validation Cloud JSON-RPC endpoints.
  </Card>
</CardGroup>

## Advanced: ERC-721 with Hardhat

Three-part series building a production-grade NFT contract from scratch to upgradeable.

<CardGroup cols={3}>
  <Card title="Part 1 — Mint and Burn" href="/evm/tutorials/advanced/erc721-hardhat/part1-mint-burn">
    Deploy an ERC-721 contract with OpenZeppelin, mint an NFT to your account, and burn it — the complete token lifecycle.
  </Card>

  <Card title="Part 2 — Access Control" href="/evm/tutorials/advanced/erc721-hardhat/part2-access-control">
    Add role-based access control, URI storage, and Pausable functionality to your ERC-721 contract.
  </Card>

  <Card title="Part 3 — Upgradeable Contracts" href="/evm/tutorials/advanced/erc721-hardhat/part3-upgradeable">
    Upgrade an ERC-721 contract in place using the OpenZeppelin UUPS upgradeable proxy pattern.
  </Card>
</CardGroup>

## Advanced: ERC-721 with Foundry

<CardGroup cols={2}>
  <Card title="Part 1 — Mint and Burn" href="/evm/tutorials/advanced/erc721-foundry/part1-mint-burn">
    Deploy, mint, and burn an ERC-721 token on Hedera Testnet using Foundry scripts and OpenZeppelin.
  </Card>

  <Card title="Part 2 — Writing Tests in Solidity" href="/evm/tutorials/advanced/erc721-foundry/part2-testing">
    Write and run Solidity unit tests for an ERC-721 mint-and-burn contract using Foundry's test framework.
  </Card>
</CardGroup>

## HTS + EVM

Three-part series using Hedera Token Service system contracts from Solidity — native token management without custom bytecode.

<CardGroup cols={3}>
  <Card title="Part 1 — Mint NFTs" href="/evm/tutorials/hedera/hts-evm/part1-mint-nfts">
    Mint, transfer, and burn NFTs using HTS system contracts from Solidity. No separate token contract required.
  </Card>

  <Card title="Part 2 — KYC and Update" href="/evm/tutorials/hedera/hts-evm/part2-kyc-update">
    Grant and revoke KYC, update token metadata, and manage compliance permissions on native HTS tokens via a smart contract.
  </Card>

  <Card title="Part 3 — Pause, Freeze, Wipe, Delete" href="/evm/tutorials/hedera/hts-evm/part3-pause-freeze-wipe">
    Pause transfers, freeze accounts, wipe balances, and delete HTS tokens from Solidity.
  </Card>
</CardGroup>

## HSS + EVM

<CardGroup cols={2}>
  <Card title="Part 1 — Schedule Smart Contract Calls" href="/evm/tutorials/hedera/hss-evm/part1-schedule-calls">
    Schedule future smart contract calls using Hedera's native Schedule Service — no off-chain bots or keeper networks required.
  </Card>

  <Card title="Part 2 — Dynamic Rebalancing" href="/evm/tutorials/hedera/hss-evm/part2-rebalancing">
    Build a capacity-aware DeFi rebalancer that adjusts its scheduling strategy dynamically based on network conditions.
  </Card>
</CardGroup>

## Hedera Native

<CardGroup cols={2}>
  <Card title="Create and Transfer an NFT Using Solidity" href="/evm/tutorials/hedera/nft-solidity">
    Create and transfer a Hedera-native NFT through a Solidity contract using the HTS system contract interface.
  </Card>

  <Card title="Hybrid HTS + EVM Tokenization" href="/evm/tutorials/hedera/hybrid-hts-evm">
    Combine HTS native tokenization with EVM smart contracts for compliance features and Solidity composability in the same token.
  </Card>
</CardGroup>
