Quick Start
Get your first transaction on Convex in 5 minutes.
Choose Your Path
Pick the fastest way to get started based on your setup:
| Path | Time | Best For |
|---|---|---|
| Local Peer | 2 min | Developers with Java installed |
| Testnet | 1 min | Quick testing, no installation |
| SDK Quickstart | 5 min | Your preferred language |
Option 1: Local Peer
Fastest for development - Run a peer in your JVM.
Prerequisites
- Java 21+ installed
- Maven or Gradle (for Java examples)
Quick Start
1. Add Dependency (Maven):
<dependency>
<groupId>world.convex</groupId>
<artifactId>convex-java</artifactId>
<version>0.8.2</version>
</dependency>
2. Run Your First Transaction:
import convex.peer.Server;
import convex.api.Convex;
import convex.core.Result;
import convex.core.crypto.AKeyPair;
import convex.core.cvm.Address;
import convex.core.lang.Reader;
public class QuickStart {
public static void main(String[] args) throws Exception {
// Start local peer
Server server = Server.create();
server.launch();
try {
// Connect
Convex convex = Convex.connect(server);
// Create account
AKeyPair keyPair = AKeyPair.generate();
Address address = convex.createAccountSync(keyPair.getAccountKey());
convex.setKeyPair(keyPair);
convex.setAddress(address);
// Your first transaction!
Result result = convex.transact(
Reader.read("(def greeting \"Hello Convex!\")")
).get();
System.out.println("✓ Transaction succeeded!");
System.out.println("Result: " + result.getValue());
// Query the value
Result query = convex.query(Reader.read("greeting")).get();
System.out.println("Greeting: " + query.getValue());
} finally {
server.shutdown();
}
}
}
3. Run It:
mvn compile exec:java -Dexec.mainClass=QuickStart
Expected Output:
✓ Transaction succeeded!
Result: "Hello Convex!"
Greeting: "Hello Convex!"
🎉 Success! You've:
- ✅ Started a local peer
- ✅ Created an account
- ✅ Submitted a transaction
- ✅ Queried network state
Next: Explore Local Testnets for more options.
Option 2: Hugging Face Testnet
No installation needed - Connect to public testnet.
Any Language
1. Install SDK:
# TypeScript/JavaScript
npm install @convex-world/convex-ts
# Python
pip install convex-api
2. Connect and Transact:
TypeScript:
import { Convex, KeyPair } from '@convex-world/convex-ts';
// Connect to testnet
const convex = new Convex('https://mikera1337-convex-testnet.hf.space');
// Create account
const keyPair = KeyPair.generate();
// Note: You'll need to request an account from the faucet
// See Faucet Guide for details
// Your first transaction
const result = await convex.transact('(def greeting "Hello Convex!")');
console.log('✓ Transaction succeeded!');
console.log('Result:', result.value);
// Query
const query = await convex.query('greeting');
console.log('Greeting:', query.value);
Python:
from convex_api import Convex, KeyPair
# Connect to testnet
convex = Convex('https://mikera1337-convex-testnet.hf.space')
# Create account
key_pair = KeyPair()
# Note: Request account from faucet - see Faucet Guide
# Your first transaction
result = convex.transact('(def greeting "Hello Convex!")')
print('✓ Transaction succeeded!')
print('Result:', result.value)
# Query
query = convex.query('greeting')
print('Greeting:', query.value)
Java:
import convex.api.Convex;
import convex.core.Result;
import convex.core.lang.Reader;
// Connect to testnet
Convex convex = Convex.connect("https://mikera1337-convex-testnet.hf.space");
// Create account and request funds from faucet
// See Faucet Guide for details
// Your first transaction
Result result = convex.transact(
Reader.read("(def greeting \"Hello Convex!\")")
).get();
System.out.println("✓ Transaction succeeded!");
System.out.println("Result: " + result.getValue());
// Query
Result query = convex.query(Reader.read("greeting")).get();
System.out.println("Greeting: " + query.getValue());
Note: Public testnets require account creation via faucet. See Faucet Guide for details.
🎉 Success! You've connected to a public network!
Next: Read the Networks Guide to understand network types.
Option 3: Language-Specific
Deep dive - Complete quickstart for your language.
Choose Your Language
Java (Recommended for local development)
- ✅ Fastest performance