Open-source protocol Β· Free during beta

Give your app or agent
an on-chain budget.

Hard spending limits, human approvals, and a verifiable audit trail β€” across 8 chains. Your code (or your AI agent) signs only what your policy allows.

npm install @veridex/sdk
No wallet to installΒ·Free testnet by defaultΒ·For operators β†’

What you'll build

A governed transfer in six lines

Drop this into a browser-side script. Veridex prompts for a passkey and ships a gasless transfer through the public relayer β€” within a policy you control. Click below to run it live, no install required.

import { createSDK } from '@veridex/sdk';
import { parseEther } from 'ethers';
 
const sdk = createSDK('base', { network: 'testnet' });                       // Base Sepolia + public relayer
await sdk.passkey.register('alice@example.com', 'My Wallet');                // FaceID / TouchID prompt β†’ vault provisioned
const tx = await sdk.transferViaRelayer({
  targetChain: 10004,                                                        // Base Sepolia (Wormhole chain id)
  token: 'native',
  recipient: '0x742d35Cc6634C0532925a3b844Bc9e7595f5A234',
  amount: parseEther('0.001'),
});
console.log(tx.transactionHash);                                             // on-chain Hub tx hash

Want a key with hard spending caps that signs many transfers without re-prompting? Add a SessionManager on top of this flow β€” same SDK, two extra setup lines.

What gets recorded

Every executed action produces a signed, exportable trace β€” the agent's reasoning, the policy verdicts, the signatures, and the on-chain proof. Here's what the trace for the transfer above looks like.

{
  "traceId": "trc_01HF8...",
  "action": { "type": "transfer", "chain": "base-sepolia", "token": "native", "amount": "0.001" },
  "reasoning": "User-initiated transfer, relayed gaslessly.",
  "verdicts": [
    { "rule": "spending_limit",   "verdict": "allowed", "detail": "0.001 <= daily limit" },
    { "rule": "chain_allowlist",  "verdict": "allowed", "detail": "base-sepolia in [base-sepolia]" },
    { "rule": "counterparty",     "verdict": "allowed", "detail": "open allowlist" }
  ],
  "signatures": [{ "by": "passkey", "hash": "0xa7c1..." }],
  "transactionHash": "0x3f8e...",
  "timestamp": "2026-05-19T17:42:11Z"
}

The signed Trace API (sdk.traces.get(traceId)) is on the v1.2 roadmap. Today every transfer returns its on-chain transactionHash; you can reconstruct the policy verdicts client-side from the same inputs you signed.

Why not just use a wallet?

Hot wallet
Multisig
Custodial API
Veridex
Spending limits per key
β€”
β€”
Provider-defined
Per-session, on-chain
Human approval on demand
β€”
Threshold only
Manual escalation
Policy-driven
Revoke a bad session in one click
Rotate seed
Re-deploy
Open a ticket
Yes
Audit evidence per action
Tx hash only
Signature set
Vendor log
Reasoning + verdicts + signatures
You hold the keys
Yes
Yes
No
Yes (passkey)

How it works

1. API keyIdentifies your application. One namespace for all downstream sessions and activity.
2. Session keyA bounded delegation: which actions, which chains, how much, for how long. Multiple per identity.
3. Governed executionEvery action runs through your policies. Spending limits, chain allowlists, approval thresholds, counterparty rules.
4. Audit evidenceEvery execution produces a signed trace with reasoning, verdicts, and an exportable bundle.

Pick one package

Most teams start with the Core SDK. The other packages build on it β€” adopt them when you need them.

Start here
@veridex/sdk
Passkey wallets, session keys, cross-chain transfers, spending limits. The foundation everything else builds on.
npm install @veridex/sdkView SDK docs β†’
Building an AI agent or a custom runtime? See advanced packages.
@veridex/agentic-payments
Autonomous payments for AI agents β€” on-chain identity, trust gates, MCP tools, x402.
View Agent SDK β†’
@veridex/agents
General-purpose TypeScript agent runtime: tools, memory, checkpoints, policy-aware execution.
View framework docs β†’

Explore the docs

Community