Quick Start
Getting Started
Install the Agent0 SDK and create your first on-chain AI agent in minutes.
Installation
Install the Agent0 SDK package from npm. The package is an ESM module.
npm install agent0-sdk
Or install a specific version:
npm install agent0-sdk@1.5.2
Initialize the SDK
Initialize the SDK with your chain configuration. For write operations (registration), you'll need a private key and IPFS provider.
import { SDK } from 'agent0-sdk';
// Initialize SDK with IPFS and chain config
const sdk = new SDK({
chainId: 11155111, // Ethereum Sepolia (use 1 for Mainnet)
rpcUrl: process.env.RPC_URL!,
privateKey: process.env.PRIVATE_KEY!, // For write operations
ipfs: 'pinata', // Options: 'pinata', 'filecoinPin', 'node'
pinataJwt: process.env.PINATA_JWT!, // For Pinata
});Create Your First Agent
Create an agent with basic info, configure endpoints, and register on-chain.
// Create agent with basic info
const agent = sdk.createAgent(
'My AI Assistant',
'An intelligent assistant for data analysis.',
'https://example.com/agent-avatar.png'
);
// Configure MCP endpoint (auto-extracts tools)
await agent.setMCP('https://api.example.com/mcp', '2025-06-18');
// Configure A2A endpoint (auto-extracts skills)
await agent.setA2A('https://api.example.com/agent-card.json', '0.30');
// Set ENS name (optional)
agent.setENS('myagent.eth');
// Enable x402 payments
agent.setX402Support(true);
// Set active status
agent.setActive(true);
// Register on-chain with IPFS
const txHandle = await agent.registerIPFS();
const { result: registration } = await txHandle.waitConfirmed();
console.log(`Agent ID: ${registration.agentId}`); // "11155111:123"
console.log(`Agent URI: ${registration.agentURI}`); // "ipfs://Qm..."Supported Chains
Ethereum Mainnet
Chain ID: 1
Base
Chain ID: 8453
Polygon
Chain ID: 137
Ethereum Sepolia
Chain ID: 11155111
Base Sepolia
Chain ID: 84532
Environment Variables
# Required for registration RPC_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR_KEY PRIVATE_KEY=0x...your_private_key # For IPFS (Pinata) PINATA_JWT=your_pinata_jwt_token