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
- Navigate to Projects
- Click New Project
- Choose a language:
- Algorand TypeScript - TypeScript-based contracts (recommended for beginners)
- Algorand Python - Python-based contracts
- TEAL - Low-level assembly language
- 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:
- Quick Start - Get your first contract compiled
- Your First Contract - Build a complete counter application
- Algorand TypeScript Guide - Deep dive into PuyaTS