Give your AI agent a Visa with a daily cap. Give your service a Stripe-grade dashboard when agents pay you. One SDK. Two Solana programs. Both sides of agent commerce on-chain.
// pay side — the agent import { OnChainVault } from "@kyvernlabs/sdk"; const vault = new OnChainVault({ cluster, connection, multisig, spendingLimit }); const res = await vault.pay({ agent, recipient, amount: 0.12, merchant: "api.openai.com" }); // earn side — the service (one line) export const GET = withPulse(withX402(handler, price), { apiKey });
One SDK family. Pay side fails on-chain if rules fire; earn side captures every payment seconds after it lands.
// research-agent.ts import { Vault } from "@kyvernlabs/sdk" const kv = new Vault({ agentKey }) // agent pays for services as needed await kv.pay({ merchant: "weather-api.com", amount: 0.40, memo: "fetch forecast" }) // KyvernLabs enforces policy before signing // if denied, agent can't pay. period.
Click it. Read the logs. That's Solana consensus saying no — not our server, not our API, not our promise. We did not make this up.
The agent paying and the service receiving transact through the same Kyvern + Squads v4 programs. Every payment is signed, capped, and logged on-chain — visible to both sides, inspectable by anyone.
A Squads multisig + on-chain spending limit. Over-budget or off-allowlist calls fail as real Solana transactions.
import { OnChainVault } from "@kyvernlabs/sdk";
const vault = new OnChainVault({ multisig, spendingLimit, connection });
const res = await vault.pay({
agent,
recipient,
amount: 0.50,
merchant: "api.openai.com",
memo: "chat completion",
});
// res.decision === "allowed" | "blocked"
// res.explorerUrl → Solana tx, verifiableOne-line middleware captures every payment. Payer address, amount, merchant, tx hash — verified against Solana Explorer in real time.
import { withPulse } from "@kyvernlabs/pulse";
import { withX402 } from "@x402/next";
export const GET = withPulse(
withX402(handler, priceConfig),
{ apiKey: "kv_live_..." }
);
// Your agent customers show up in the dashboard
// seconds after they pay. Every row linked to Explorer.When an agent with a Kyvern vault pays a service wrapped in Kyvern Pulse, both the payer dashboard and the merchant dashboard show the exact same Solana signature. That's the full loop — on-chain, end-to-end, verifiable.
Micro-budgets need micro-fees. Solana's sub-cent transaction cost and 400ms finality is the only chain where it's sane to hand an agent a ten-dollar weekly allowance and let it spend it one request at a time — and where a service can afford to write every tiny inbound payment to a real on-chain receipt.
We don't reinvent custody. Every Kyvern vault is a Squads v4 smart account— audited three times, securing over $10B across Jito, Pyth, Helium, and hundreds of DAOs. Our Kyvern policy program layers merchant, velocity, memo, and pause enforcement on top, then CPIs into Squads' native spending-limit primitive. Two programs, one atomic transaction.
And on the receiving side, Pulse reads that same Solana transaction — verifies it against Explorer, attributes it to the paying agent, and drops it into the merchant's revenue feed seconds after it lands.
You inherit Squads' security. We inherit the trust. Both sides see the same signature.
Create your first vault in 60 seconds. Or wrap your x402 endpoint with @kyvernlabs/pulse to see every agent payment land on-chain, in real time.