Quick Start
Complete example creating an agent, configuring it, registering, and retrieving it.
from agent0_sdk import SDKimport os
# Initialize SDK# Subgraph automatically uses default URL - no configuration needed!sdk = SDK( chainId=11155111, # Ethereum Sepolia testnet rpcUrl=os.getenv("RPC_URL"), signer=os.getenv("PRIVATE_KEY"), ipfs="pinata", pinataJwt=os.getenv("PINATA_JWT"))
# Create agentagent = sdk.createAgent( name="My AI Agent", description="An intelligent assistant for various tasks", image="https://example.com/agent.png")
# Configure endpointsagent.setMCP("https://mcp.example.com/", version="2025-06-18")agent.setA2A("https://a2a.example.com/agent-card.json", version="0.30")agent.setENS("myagent.eth", version="1.0")
# Set walletagent.setAgentWallet("0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", chainId=11155111)
# Configure trust modelsagent.setTrust(reputation=True, cryptoEconomic=True)
# Add metadataagent.setMetadata({ "version": "1.0.0", "category": "ai-assistant"})
# Set statusagent.setActive(True)agent.setX402Support(False)
# Register on-chain with IPFSagent.registerIPFS()
print(f"✅ Agent registered!")print(f" ID: {agent.agentId}")print(f" URI: {agent.agentURI}")
# Retrieve agentretrieved = sdk.getAgent(agent.agentId)print(f"✅ Retrieved: {retrieved.name}")import { SDK } from 'agent0-sdk';
async function main() { // Initialize SDK // Subgraph automatically uses default URL - no configuration needed! const sdk = new SDK({ chainId: 11155111, // Ethereum Sepolia testnet rpcUrl: process.env.RPC_URL || '', signer: process.env.PRIVATE_KEY, // Optional: private key for signing transactions ipfs: 'pinata', // or 'filecoinPin' or 'node' pinataJwt: process.env.PINATA_JWT, // Required if ipfs='pinata' });
// Create agent const agent = sdk.createAgent( 'My AI Agent', 'An intelligent assistant for various tasks', 'https://example.com/agent.png' );
// Configure endpoints (async in TypeScript) await agent.setMCP('https://mcp.example.com/', '2025-06-18'); await agent.setA2A('https://a2a.example.com/agent-card.json', '0.30'); agent.setENS('myagent.eth', '1.0');
// Set wallet agent.setAgentWallet('0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb', 11155111);
// Configure trust models agent.setTrust(true, true); // reputation=true, cryptoEconomic=true
// Add metadata agent.setMetadata({ version: '1.0.0', category: 'ai-assistant', });
// Set status agent.setActive(true); agent.setX402Support(false);
// Register on-chain with IPFS (async in TypeScript) const registrationFile = await agent.registerIPFS();
console.log('✅ Agent registered!'); console.log(` ID: ${registrationFile.agentId}`); console.log(` URI: ${registrationFile.agentURI}`);
// Retrieve agent (async in TypeScript) const retrieved = await sdk.getAgent(registrationFile.agentId!); console.log(`✅ Retrieved: ${retrieved.name}`);}
main().catch(console.error);