Fixer Protocol
Now with ZK private transactions ›

$FIXER is live on Solana! 9LR7rbVdZVwXFF5riTznyvdrJXNf95ncsnx9Zdvwpump

Payments for
AI agents

The unified payment rail for autonomous agents. Route x402 and MPP with one call, settle on Solana, and shield transactions with zero-knowledge proofs when privacy matters.

The teams building the agentic economy
trust Fixer Protocol.

Integrate this weekend

A minimal, well-typed interface so you can start routing agent payments in minutes. SDKs for TypeScript, Python, and every major language and runtime your stack relies on.

1import { FixerProtocol } from '@fixerprotocol/sdk';
2
3const rail = new FixerProtocol({
4  agentId: 'my-agent',
5  apiKey: process.env.FIXER_API_KEY,
6});
7
8(async function () {
9  const { data, error } = await rail.pay({
10    endpoint: 'https://api.dune.com/v1/query',
11    method: 'POST',
12    body: { query: '...' },
13  });
14
15  if (error) {
16    return console.log(error);
17  }
18
19  console.log(data.txHash);
20  console.log(data.amountPaid);
21})();

First-class developer experience

We built the payment infrastructure we always wished existed for our own agents. Clean API surface, typed SDKs, a sandbox that mirrors production, and no surprises.

Settled
api.dune.com/v1/query
200{txHash: "3xK7mN2pQwRsTu..."}
200{txHash: "9aB4cD5eF6gH7i..."}
200{txHash: "2mN8oP9qR0sT1u..."}
200{txHash: "5vW6xY7zA8bC9d..."}
200{txHash: "1eF2gH3iJ4kL5m..."}

Sandbox mode

Test payment flows without spending real funds. Sandbox replicates x402 handshakes, MPP sessions, policy enforcement, and ZK proof generation against Solana devnet.

Learn more
SettledMay 24 09:30:03agent: orchestrator-v1
protocol: x402amount: $0.002 USDCprivacy: transparent
RejectedMay 24 09:28:47agent: research-agent-v2
policy: per_call_limitlimit: $1.00requested: $1.42

Payment webhooks

Get notified the moment a payment settles, a policy fires, or a budget threshold is crossed. Every event includes the Solana transaction hash, the triggering agent, and the protocol used.

Learn more

Configure once, enforce everywhere

Set up agent wallets and spend policies from the dashboard. Every call to fixer.pay() respects those rules automatically, without any changes to your application code.

Spend policy
saved 2 min ago
Daily budget$100.00 USDC
Per-call limit$1.00 USDC
Privacy modetransparent

One API, any protocol

Your agent calls fixer.pay() once. Fixer Protocol detects whether the service requires x402 or MPP, handles the entire handshake, enforces your spend policies, and settles on Solana. Protocol selection is never your problem.

Write once, run on any protocol

A clean TypeScript SDK with full type safety. Define your policies, route payments, and enable private transactions without learning the specifics of x402 or MPP.

agent-pay.ts
1import { FixerProtocol } from '@fixerprotocol/sdk';
2
3const rail = new FixerProtocol({
4 agentId: 'research-agent-v2',
5 apiKey: process.env.FIXER_API_KEY,
6});
7
8await rail.policies.set({
9 dailyBudget: { usdc: 100 },
10 perCallLimit: { usdc: 1.00 },
11 allowedDomains: ['api.dune.com'],
12});
13
14const result = await rail.pay({
15 endpoint: 'https://api.dune.com/v1/query',
16 method: 'POST',
17 body: { query: 'SELECT * FROM txs' },
18 privacy: { mode: 'full' },
19});
20
21console.log(result.txHash);
22// "3xK7mN2pQwRsTu..."
23
24console.log(result.amountPaid);
25// { usdc: 0.002 }
26
27console.log(result.protocol);
28// "x402"
response
200 OK
txHash: "3xK7mN2pQwRsTu..."
amountPaid: {
usdc: 0.002
}
protocol: "x402"
privacy: "full"
privateNote: "zt4Kx9mQwPr..."
solanaExplorer: "explorer.sol..."

Built around how agents actually pay

Automatic protocol detection

Every call to fixer.pay() is routed to x402 or MPP without any configuration on your end. If a service supports both, Fixer Protocol picks x402 by default for lower overhead. Fully configurable.

Zero-knowledge transaction privacy

Shield payment amounts, sender addresses, and receiver addresses using Groth16 proofs. Transparent by default and private on demand, with no changes to your application code required.

Pre-payment policy enforcement

Daily budgets, per-call limits, domain allowlists, and rate limits are evaluated before any payment leaves the gateway. A call that would breach your budget is rejected before funds ever move.

Sub-second Solana settlement

Every payment settles on Solana in under one second, regardless of which upstream protocol handled it. Each transaction has a permanent on-chain record and a public hash you can verify any time.

Multi-agent payment chains

When an orchestrating agent delegates to sub-agents that incur their own costs, every payment in the chain is linked on-chain. Full cost attribution, end to end, without extra instrumentation.

Selective disclosure for audits

Private transactions can carry a disclosure key. Compliance teams decrypt specific transactions without those details ever appearing on-chain. Everyone else sees only a nullifier hash.

Everything in your control

Monitor every agent payment in real time, adjust spend rules without redeploying, and toggle transaction privacy at the policy level rather than inside your code.

Beyond expectations

Teams building production agentic systems use Fixer Protocol to handle payments reliably, keep their codebases simple, and maintain full visibility into where their agents are spending.

We were handling x402 and MPP in two completely separate codepaths. Fixer Protocol collapsed that into a single fixer.pay() call. It sounds small until you realise how much conditional logic you stop writing.

The ZK privacy mode was the thing that unlocked us using Fixer Protocol for our most sensitive agent workloads. Amounts and counterparties stay off-chain, but we still have the Solana record and can run selective disclosure for compliance.

We were up and running in an afternoon. The spend policies alone would have taken weeks to build correctly ourselves, and we probably still would have had edge cases. Having them enforced at the gateway level is exactly right.

Solana settlement under a second with a public tx hash on every payment is genuinely useful for our finance team. They stopped asking me to build reporting because the chain is the report.

Multi-agent payment chains were something we were cobbling together ourselves. Seeing the full cost tree traced on-chain automatically, linked from the orchestrator down to every sub-agent, saved us a lot of custom accounting work.

Transparent by default.
Private on demand.