Back to Home
Documentation

Everything you need to
build on BuildArena

Friendly, practical docs that walk through every part of the platform. Start with the basics, then jump to the corner you care about.

Start here

Getting started

Spin up your first BuildArena workspace and ship a Solana program in a few minutes. No local toolchain required.

BuildArena is a full Solana development environment that runs in your browser. You sign in, create a project, and the platform spins up a sandboxed workspace with all the toolchains you need (Rust, cargo, anchor, solana, spl-token, and more) preinstalled.

You don't have to install anything locally. If your machine can run a modern browser, it can build, test, and deploy Solana programs with BuildArena.

Your first 5 minutes

  1. 1

    Sign in

    Use a Solana wallet, GitHub, Google, or email. Wallet sign-in is the fastest if you already have Phantom or Solflare installed.

  2. 2

    Create a project

    From the dashboard, pick a template (Anchor, Native Rust, Seahorse, or Solidity) or fork an existing community project.

  3. 3

    Open the editor

    Your workspace opens in the IDE. The file tree, editor, terminal, and output panes are all there. Start typing.

  4. 4

    Build and deploy

    Hit the Build button to compile, then Deploy to push to devnet, testnet, or mainnet-beta. Sign the transaction with your wallet.

Install BuildArena as an app

On desktop or mobile, you can install BuildArena as a Progressive Web App. You'll get a standalone window without browser chrome and faster cold starts.

IDE basics

The workspace

Everything you need is one keystroke away. The workspace is laid out like a familiar editor but tuned for Solana work.

Anatomy of the editor

  • File tree on the left for your project structure
  • Editor panes in the center with multi-tab and split-view support
  • Integrated terminal at the bottom, persistent across reloads
  • Output, problems, and deploy panels on the right
  • Command palette (Ctrl/Cmd + K) to jump anywhere

Keyboard shortcuts

Most VS Code shortcuts work as you'd expect. Multi-cursor (Alt + click), fuzzy file search (Ctrl/Cmd + P), and quick command access (Ctrl/Cmd + Shift + P) are all there.

Note

Your layout, open tabs, and terminal sessions are saved per project, so you pick up exactly where you left off.

Languages

Programming languages

Write your Solana program in whichever language fits your team. We support four first-class workflows.

Anchor (Rust)

Anchor is the most common framework for writing Solana programs. We provide ready-made workspaces with anchor.toml, IDL generation, and the standard test scaffolding.

rust
use anchor_lang::prelude::*; declare_id!("Fg6PaFpoGXkYsidMpWxqSWnpufR7N4t9SsT8Bk5Vxxxx"); #[program] pub mod hello { use super::*; pub fn greet(ctx: Context<Greet>, name: String) -> Result<()> { msg!("hello, {}", name); Ok(()) } } #[derive(Accounts)] pub struct Greet<'info> { pub user: Signer<'info>, }

A minimal Anchor instruction

Native Rust

For programs that need full control or sit below the Anchor abstraction, native Rust is fully supported. cargo, rustfmt, and clippy all behave as you'd expect.

Seahorse (Python)

Seahorse lets you write Anchor programs in Python. The compiler turns your Python into idiomatic Anchor for you, so you get the productivity of Python with the safety of Anchor.

python
from seahorse.prelude import * declare_id('Fg6PaFpoGXkYsidMpWxqSWnpufR7N4t9SsT8Bk5Vxxxx') class Counter(Account): count: u64 owner: Pubkey @instruction def increment(counter: Counter, signer: Signer): assert counter.owner == signer.key(), 'not the owner' counter.count += 1

A Seahorse program

Solidity (Solang)

If you're porting contracts from EVM chains, Solang lets you compile Solidity to Solana. We bundle the toolchain and provide starter templates.

Visual builder

Forgeflow

Sketch your program on a canvas, then let Forgeflow compile the diagram into production-ready Anchor code.

Forgeflow is a visual program designer. You drop nodes for accounts, instructions, PDAs, and CPIs onto a canvas, connect them, and the platform turns the result into idiomatic Anchor source.

It's especially useful for whiteboarding new programs with the team or onboarding teammates who think better in diagrams.

What Forgeflow gives you

  • Drag-and-drop nodes for accounts, instructions, and PDAs
  • Auto-generated Anchor code that compiles cleanly
  • Round-trip editing between code and canvas
  • Visual hints for common Solana patterns (init, close, realloc, signer seeds)

Tip

Forgeflow is ideal for early architecture work. Once your program shape is locked in, you can keep editing on the canvas, in code, or both.

Local validator

Surfpool sandbox

A personal validator that forks mainnet state, replays signatures, and lets you inspect every CPI. All container-isolated to your session.

Surfpool gives every workspace a personal Solana validator. You can fork mainnet, devnet, or testnet state on demand, replay any signature, and step through transactions without touching the real network.

Because every sandbox runs in its own container, your test state never bleeds into anyone else's session.

bash
# Boot a fresh local validator surfpool start # Fork mainnet state at the latest slot surfpool fork --cluster mainnet-beta # Replay a signature against the local fork surfpool replay <SIGNATURE> # Show full CPI tree for the last transaction surfpool inspect --last

Common Surfpool commands from the integrated terminal

Note

Surfpool is great for reproducing production bugs. Fork mainnet, replay the failing signature, and step through what actually happened.

Dependencies

Adding crates and dependencies

Pull in any Rust crate from crates.io or Git. Builds happen inside an isolated sandbox with full caching.

Need a custom crate? Add it to your Cargo.toml the way you would locally. The platform fetches, caches, and compiles it inside your sandbox. Lockfiles are respected, so your builds are reproducible.

toml
[dependencies] anchor-lang = "0.30" solana-program = "1.18" my-helper = { git = "https://github.com/your-org/my-helper", tag = "v0.1.0" } serde = { version = "1", features = ["derive"] }

Adding crates in Cargo.toml

Things worth knowing

  • Builds are cached per project for fast incremental compiles
  • Private Git crates work if you authorize the platform with your provider
  • A curated registry of Solana-friendly crates is available from the Add Crate UI
  • You can pin versions or use tags for reproducibility
AI assistance

AI pair programmer

A Solana-tuned assistant that reads your program, suggests CPIs, drafts tests, and explains errors in plain English.

What it can do

  • Inline completions and multi-line suggestions while you type
  • Context-aware chat that knows your file tree
  • Generate tests, account validators, and CPI scaffolding
  • Explain compile errors and propose fixes
  • Summarize what a function or module does

How to invoke it

Open the AI panel from the right sidebar, or press Ctrl/Cmd + I to ask a quick question about the file you're in. Inline suggestions show up as ghost text — accept with Tab.

Tip

For the best results, keep your project structured: clear module names, comments on tricky math, and meaningful test names. The assistant uses all of that as context.

Teamwork

Collaboration

Multi-cursor editing, voice and video, inline comments, and shared sessions — all baked in.

Every project is multi-player by default. Invite teammates by link, and they can edit alongside you in real time. The editor uses CRDTs under the hood, so two or twenty people can type at once without conflicts.

Collaboration features

  • Real-time cursors and selections with name labels
  • Per-user undo history
  • Threaded inline comments anchored to lines
  • Voice and video rooms attached to the project
  • Role-based permissions (owner, editor, viewer)

Voice and video, in the IDE

Click the call icon in the top bar to start a voice or video room. Teammates already in the project get a one-click join prompt.

Source control

GitHub integration

Clone, fork, branch, and open pull requests without leaving the editor.

Connect your GitHub

  1. 1

    Authorize

    In Settings → Integrations, click Connect GitHub and follow the OAuth flow.

  2. 2

    Import a repo

    From the dashboard, click New Project → Import from GitHub. Pick a repo and the platform clones it into a fresh workspace.

  3. 3

    Branch and commit

    Use the Source Control panel to stage, commit, and push. Branch creation is a single click.

  4. 4

    Open a pull request

    When you're ready, hit Open PR. Diffs are preformatted and the PR opens in a new tab.

Note

You can also fork any public BuildArena project into your own GitHub account in one click.

Shipping

Build, deploy, and verify

From editor to mainnet in a click. Sign with your wallet, capture the program ID, and verify on-chain.

Deploying a program

  1. 1

    Build

    Hit the Build button or run `anchor build` (or `cargo build-sbf` for native programs) from the terminal.

  2. 2

    Pick a cluster

    Open the Deploy panel and choose devnet, testnet, or mainnet-beta.

  3. 3

    Sign and deploy

    Connect your wallet if you haven't already, then approve the transaction. The program ID lands in the deploy log.

  4. 4

    Verify

    Click Verify to prove the on-chain binary matches your source. The verification badge becomes public.

bash
# Build the program anchor build # Deploy to devnet anchor deploy --provider.cluster devnet # Deploy to mainnet-beta (be careful!) anchor deploy --provider.cluster mainnet # Run program tests against the local validator anchor test

Common deploy commands

Mainnet deploys are real

Deploys to mainnet-beta cost SOL and ship code that real users may interact with. Use devnet for iteration, and only deploy to mainnet when you're confident in your tests and audits.

CLI

Integrated terminal

A real shell wired to your sandbox. anchor, solana, cargo, spl-token, and surfpool are all preinstalled.

What's available

  • Rust toolchain (cargo, rustc, rustfmt, clippy)
  • Solana CLI (solana, solana-keygen)
  • Anchor CLI (anchor)
  • SPL Token CLI (spl-token)
  • Surfpool local validator
  • Standard Unix utilities (bash, grep, jq, curl)

Tip

Terminal sessions persist across reloads. Long-running processes survive a tab refresh, so you can close the browser and come back to a still-running build.

Account

Auth and billing

Sign in your way. Upgrade with USDT on Solana when you need more.

Auth providers

  • Solana wallets (Phantom, Solflare, and more)
  • GitHub OAuth
  • Google OAuth
  • Email + magic link

Crypto-native billing

Paid plans are billed in USDT on Solana. Pick a plan on the Pricing page, connect your wallet, and approve the transfer. Your account upgrades as soon as the transaction confirms, usually within a few seconds.

Note

You can link multiple providers to one account. Sign in with GitHub, link a wallet, and use either one going forward.

Trust

Security and isolation

Every workspace runs in its own container. Your code, secrets, and dependencies stay yours.

How we keep your work safe

  • Container-isolated build sandboxes per user
  • Encrypted storage at rest
  • Network policies that scope outbound traffic
  • Auditable session boundaries
  • Signed deploys via your wallet, never ours

Heads up

Never paste mainnet keypairs into a workspace. Use wallet sign-in for deploys so your private keys never touch our servers.

Community

Templates and community projects

Skip the boilerplate. Start from a template or fork any public project.

The template registry has curated starters for Anchor, native Rust, Seahorse, and Solidity. Each one boots into a working build so you can focus on your idea, not on plumbing.

You can also browse public projects from other builders, fork them, and contribute back.

Where to look

  • Dashboard → New Project → Templates for curated starters
  • Community page for public projects from other builders
  • Profile pages to see what someone has shipped
  • Star and follow your favorite builders
Help

Troubleshooting

A few things that trip up new users, with the fixes.

Common issues

  • Build fails with "linker `cc` not found": run `cargo clean` from the terminal and retry. The sandbox sometimes needs a fresh slate after a toolchain upgrade.
  • Deploy hangs: check that your wallet is connected to the same cluster you picked in the Deploy panel.
  • Tests pass locally but fail on Surfpool: try forking from the cluster you're targeting so the account state matches.
  • AI suggestions feel off: open the chat panel and provide a short summary of what you're building. Context matters.
  • Wallet balance shows zero: confirm the wallet is unlocked and on the correct network. Refresh the page if the balance was just funded.

Still stuck?

Reach out from the in-app feedback button or join the community on Discord. Real humans read every message.

Couldn't find what you needed?

Browse the full feature list or jump straight into a workspace and try things out.