SDK PREVIEW

Built for builders.

Three lines to autonomous commerce. TypeScript-native. Framework-agnostic. Designed for agents that move fast.

3lines to integrate
<5minto first escrow
0dependencies
escrow.tsconfig.ts

Everything your agent needs.

Conditional Escrow

Lock funds with programmable release conditions. Time-bound, event-bound, or multi-signal.

praxis.lock({ condition: 'delivery' })

Instant Settlement

Sub-200ms from verification to fund transfer. No batching. Atomic.

await escrow.release() // <200ms

Event Webhooks

Real-time callbacks for every state change. Lock, verify, release, timeout.

praxis.on('released', handler)

Multi-Party Escrow

Split payments across providers. Parallel locks. Coordinated releases.

praxis.lockMulti([...providers])

Agent Authentication

Cryptographic identity for every agent. No shared keys. Scoped permissions.

new Praxis({ agentId, secret })

Transaction Monitoring

Full lifecycle visibility. Dashboards, logs, alerts. Know what your agents spend.

praxis.transactions.list({ status })

Fits your stack.

Framework-agnostic. Drop into any agent architecture.

LC
LangChainpraxis.middleware(langchain.agent)
CA
CrewAIcrew.tools.add(PraxisTool())
AG
AutoGenagent.register(praxis_executor)
OA
OpenAI Functionstools: [praxis.asTool()]
V
Vercel AI SDKimport { praxis } from '@praxis/ai'
{}
Custom Agentsnew Praxis({ agentId })

From this. To this.

WITHOUT PRAXIS
// Manual payment orchestration
const stripe = new Stripe(COMPANY_KEY) // shared key
const charge = await stripe.charges.create({
  amount: computeEstimate(), // estimate, not actual
  source: companyCreditCard, // full access
  description: `agent-${id}-task-${taskId}`
})
// Hope the service delivers...
// No verification...
// No recourse if it doesn't...
// Manual reconciliation later...
await notifyHumanForApproval() // blocked
await waitForHumanResponse() // minutes to hours
WITH PRAXIS
const escrow = await praxis.lock({
  amount: 2.50,
  provider: 'compute.service',
  condition: 'delivery.verified'
})

// Agent works autonomously.
// Verification is automatic.
// Settlement is instant.

await escrow.release() // Done. No human needed.

Full lifecycle visibility.

Hook into every state change. Monitor. React. Control.

Initialize
new Praxis(config)
praxis:ready
Lock
praxis.lock(params)
escrow:locked
Pending
escrow.status
escrow:pending
Verify
— automatic —
escrow:verified
Release
escrow.release()
escrow:released
Settled
— automatic —
escrow:settled

The SDK ships with the founding cohort.

First access. First integrations. First to build what's next.

Limited to 50 founding builders