Alpha preview. Not for production use.
Working anonymously. to save your work permanently.
Guide

Getting Started

Welcome to AVM Studio! This guide will help you get up and running with Algorand smart contract development.

What is AVM Studio?

AVM Studio is a web-based integrated development environment (IDE) for building, testing, and deploying smart contracts on the Algorand blockchain and AVM-compatible networks like Voi.

Key features include:

  • Multi-language support - Write contracts in Algorand TypeScript (PuyaTS), Algorand Python (Puya), or TEAL
  • One-click deployment - Deploy to Mainnet, Testnet, BetaNet, LocalNet, or Voi
  • Ghost testing - Test contracts without hitting the blockchain
  • AI assistance - Generate contracts from natural language descriptions
  • Transaction composer - Build and sign complex transaction groups

Quick Start Options

Choose your path based on your experience level:

Requirements

To use AVM Studio, you'll need:

  • A modern web browser (Chrome, Firefox, Safari, or Edge)
  • An Algorand wallet for signing transactions (optional for development)
No Installation Required
AVM Studio runs entirely in your browser. No local setup, installations, or configuration needed!

Creating an Account

While you can use AVM Studio anonymously for basic development, creating an account enables:

  • Persistent project storage across sessions
  • Deployment history tracking
  • Organization features for team collaboration
  • AI-assisted development with your own API keys

Click Sign In in the top navigation to create an account or sign in with your existing credentials.

Creating Your First Project

  1. Navigate to Projects
  2. Click New Project
  3. Choose a language:
    • Algorand TypeScript - TypeScript-based contracts (recommended for beginners)
    • Algorand Python - Python-based contracts
    • TEAL - Low-level assembly language
  4. Give your project a name and click Create
Note
If you're new to smart contract development, we recommend starting with Algorand TypeScript (PuyaTS). It provides the best developer experience with full type safety.

Example: Hello World Contract

Here's a simple contract that stores and retrieves a greeting:

hello-world.algo.ts TypeScript
1import { Contract } from '@algorandfoundation/algorand-typescript'
2
3class HelloWorld extends Contract {
4  greeting = GlobalState<string>({ initialValue: 'Hello, World!' })
5
6  setGreeting(newGreeting: string): void {
7    this.greeting.value = newGreeting
8  }
9
10  getGreeting(): string {
11    return this.greeting.value
12  }
13}

This contract demonstrates:

  • Global State - Persistent storage using GlobalState
  • Methods - Functions that can be called externally
  • Type Safety - TypeScript types ensure correctness

Next Steps

Now that you have an overview, continue with: