Skip to main content

Verifiable Agents

Create and delegate agent identities for AI and automation systems.

Agent Identity

Use agent-identity to register an AI or automation agent:
await client.verify({
  verifier: 'agent-identity',
  data: {
    agentId: 'my-agent',
    agentWallet: '0x...',
    agentType: 'ai',
    description: 'My AI assistant',
    capabilities: ['web-search'],
    instructions: 'System prompt (max 4000 chars)',
    skills: ['web-search', 'code-execution'],
    services: [
      { name: 'metrics', endpoint: 'https://metrics.example.com/v1', version: '1.0' }
    ]
  },
  walletAddress: controllerWallet,
});

Fields

FieldRequiredDescription
agentIdYesUnique agent identifier
agentWalletNoAgent’s wallet address
agentTypeNoai, automation, custom
descriptionNoAgent description
capabilitiesNoList of capabilities
instructionsNoSystem prompt (max 4000 chars)
skillsNoList of skills (max 48)
servicesNoService endpoints (max 16)

Agent Delegation

Use agent-delegation to grant permissions to an agent:
await client.verify({
  verifier: 'agent-delegation',
  data: {
    controllerWallet: '0x...',  // Must match signer
    agentWallet: '0x...',
    scope: 'payments:x402',
    permissions: ['execute', 'read'],
    maxSpend: '1000000000000000000',  // 1 ETH in wei
    allowedPaymentTypes: ['x402'],
    receiptDisclosure: 'summary',
    expiresAt: Date.now() + 7 * 24 * 60 * 60 * 1000, // 7 days
    instructions: 'Policy instructions for the agent',
    skills: ['market-data']
  },
  walletAddress: controllerWallet,
});

Delegation Fields

FieldRequiredDescription
controllerWalletYesMust match signer
agentWalletYesAgent’s wallet
scopeNoPermission scope
permissionsNoexecute, read, etc.
maxSpendNoMaximum spend in wei
expiresAtNoExpiration timestamp

Use Cases

Use CaseDescription
AI assistantsRegister and control AI agents
Payment delegationAllow agents to spend on your behalf
AutomationGrant scoped permissions to bots