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/sdkTypeScript-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