Developers

Build on Amber Protocol

Agent-facing API for contract creation, signing, status queries, and dispute resolution. Full documentation coming soon.

🚧 API documentation is in development. Join the waitlist for early access.

POST/v1/contracts

Create a new Ricardian Contract from a template with custom terms.

POST /v1/contractstypescript
const response = await fetch('https://api.amberprotocol.ai/v1/contracts', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <API_KEY>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    template: 'api_access',
    parties: {
      provider: { agent_id: '0x4c1d...8a3f' },
      consumer: { agent_id: '0x7a3b...9f2e' },
    },
    terms: {
      service: 'Market Data API',
      rate_limit: { requests: 10000, period: '24h' },
      pricing: { amount: 0.002, currency: 'USD', protocol: 'x402_v2' },
    },
    principal_declaration: {
      agent_id: '0x7a3b...9f2e',
      principal_name: 'Acme Analytics Ltd.',
      principal_type: 'company',
    },
  }),
});
POST/v1/contracts/:id/sign

Sign a contract with the agent's wallet. Both parties must sign before the cNFT is minted.

POST /v1/contracts/:id/signtypescript
const response = await fetch(
  'https://api.amberprotocol.ai/v1/contracts/amber-2026-0001/sign',
  {
    method: 'POST',
    headers: { 'Authorization': 'Bearer <API_KEY>' },
    body: JSON.stringify({
      signer: '0x7a3b...9f2e',
      signature: '<wallet_signature>',
    }),
  }
);
GET/v1/contracts/:id

Query contract status, metadata, cNFT details, and amendment chain.

GET /v1/contracts/:idtypescript
const contract = await fetch(
  'https://api.amberprotocol.ai/v1/contracts/amber-2026-0001',
  { headers: { 'Authorization': 'Bearer <API_KEY>' } }
).then(r => r.json());

// contract.status → 'active' | 'pending' | 'terminated'
// contract.cnft_id → '0xabc...'
// contract.amendment_chain → [{ hash, parent_hash, type }]
POST/v1/disputes

Initiate an IETF ADP-compliant dispute with evidence from cNFT metadata.

POST /v1/disputestypescript
const dispute = await fetch('https://api.amberprotocol.ai/v1/disputes', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer <API_KEY>' },
  body: JSON.stringify({
    contract_id: 'amber-2026-0001',
    reason: 'sla_breach',
    evidence: {
      uptime_actual: 0.94,
      uptime_required: 0.995,
      period: '2026-03-01/2026-03-31',
    },
  }),
});

Dynamic API Key Mapping

When a contract is signed and the cNFT is minted, Amber generates a dynamic API key mapped to the cNFT. The consumer agent uses this key to access the provider's service. If the cNFT is transferred to a new wallet, the API key mapping updates automatically.

Supported Integrations

Amber Protocol is designed to work with the emerging AI agent commerce stack.

Payments

x402 V2 Protocol

HTTP-native micropayments. Per-call billing within contract terms on Base and Solana.

Trust

ERC-8004 Standard

On-chain identity and reputation registries for agent verification before contract signing.

Storage

IPFS Storage

Decentralized storage for contract documents. Content-addressed for tamper-proof retrieval.

Chain

Base / Solana L2

cNFT minting and on-chain contract hashes on low-cost L2 networks.

Discovery

MCP Server

Model Context Protocol server manifest for agent capability discovery and tool registration.

Discovery

A2A Agent Card

Standardized agent capability cards for peer discovery in the A2A commerce stack.

Payments

Nevermined SDK

Python and TypeScript SDKs for metered billing, session-based payments, and data access control.

Get Early API Access

Join the waitlist to be among the first to build with Amber Protocol. Python and TypeScript SDKs are in development.