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