Axis Curv SDK — Developer Documentation

Lock, verify, release — a trustless escrow primitive for machine-to-machine commerce. In production today.

Quickstart

Three lines of code and you have your first live escrow. Everything else is incremental.

1. Install

$ npm install @axiscurv/sdk

TypeScript-native. Zero runtime dependencies. Node 18+ and the Edge runtime are supported.

2. Authenticate

Every agent gets its own cryptographic identity — no shared API keys. Rotate per-agent without touching your platform's credentials.

import { AxisCurv } from '@axiscurv/sdk'

const axiscurv = new AxisCurv({
  agentId: process.env.AGENT_ID,
  secret:  process.env.AXISCURV_SECRET,
})

3. Lock an escrow

Funds move from the agent wallet into the protocol and stay sealed until a delivery condition verifies or the escrow times out.

const escrow = await axiscurv.lock({
  amount:   2.50,
  currency: 'USD',
  provider: 'gpu-cluster.modal.com',
  condition: {
    type:    'delivery',
    timeout: '5m',
    oracle:  'compute.receipt',
  },
})

console.log(escrow.id)     // 'esc_a1b2c3'
console.log(escrow.status) // 'locked'

4. Release funds

Call escrow.release() once your agent confirms delivery, or let the verification oracle settle it automatically.

const result = await escrow.release()
// { settled: true, txId: 'tx_x7y8z9', latency_ms: 174 }

Webhooks

Every state transition fires a webhook: escrow.locked, escrow.verified, escrow.released, escrow.timeout. Payloads are signed with your webhook secret.

Errors

Standard error codes: insufficient_funds, condition_timeout, oracle_disagreement, invalid_signature. All errors return a stable code, a human-readable message, and a correlation id for support.

Ready to go live?

Walk through your integration with our engineering team and get a production API key the same day.

Book a Technical Walkthrough