The first agent-native payment gateway
Payments that integrate themselves.
Paste one prompt into your coding agent. It reads your app, wires in Knox, runs a real test payment, and opens a pull request with the proof. Stripe-compatible underneath, so nothing your team knows goes to waste.
Paste it into Claude Code, Codex, Cursor or any coding agent.
youSet up Knox payments in this repository…
- ›Reading your checkout flow
- ›Found an existing Stripe integration
- ›Requesting test keys: approve KNX-7Q4P-M2XA in your dashboard
- ›Creating a PaymentIntent for order #1042
- ›Webhook signature verified ✓
- ›integration_status: ready ✓
- ›Opened pull request #42
The turn
Integration was a backlog item. Now it's a prompt.
The old way
- PAY-101Read the processor's docsEstimate: 3 points
- PAY-102Map fields to your order modelEstimate: 5 points
- PAY-103Write and verify the webhook handlerEstimate: 5 points
- PAY-104Test cards, declines and 3-D SecureEstimate: 3 points
- PAY-105Keep it working when the API driftsEstimate: forever
Then someone owns it, forever.
With Knox
Set up Knox payments in this repository.
- You describe the outcome.
- Your agent builds it, on a branch.
- Knox proves it, then runs it.
The loop
Read. Ask. Build. Prove. Run. Learn.
Your coding agent takes the first four steps and hands you a pull request. Knox takes the last two, for every payment after you merge it.
01 Read
It reads your app first.
Your agent inventories the repository and traces the real payment path, then recognises where you're starting: a fresh app, an existing Stripe integration, or another processor.
02 Ask
It asks before it holds a key.
It requests test keys and shows you a code. You type that code in your dashboard to approve. It never asks you to paste a secret.
03 Build
It builds on a branch.
On a new branch it adds the PaymentIntent, Knox's hosted card fields and a signed webhook. Card numbers never touch your servers. They're tokenized and held in a secure vault.
04 Prove
Ready means proven.
Knox says ready only with evidence: a real test payment through the card fields, a delivered webhook, every check passed. Then the agent opens the pull request.
Principle: proof before privilege.
05 Run
Knox runs it, payment after payment.
Knox routes each payment to Stripe, Fiserv, NMI, or Paysafe by your rules, and you switch processors without a rewrite.
How routing works06 Learn
It remembers every quirk.
Every decline code Knox translates and every error its payment core returns is recorded once, counted, and kept across merchants.
The unit of integration is no longer the connector. It is a continuously verified agreement.
You stay in charge
Human control, without human plumbing.
You approve every key
Your agent requests test keys; you approve by typing the code it shows you. Requests expire after 15 minutes.
You review every change
The agent works on a new branch and hands you a reviewable pull request with an integration report.
Test mode until you say so
Self-serve accounts run in test mode. Live payments are available by request.
Revoke keys one at a time
Each agent key is named for its agent and repository, listed in your API keys, and revocable on its own.
Approve agent key request
Agent: claude-code (acme/shop)
Only approve if you just started this from your own coding agent. Knox never sends you this code. If someone else gave it to you, deny the request.
Expires in 14:32
Speaks Stripe
The Stripe API, without the Stripe lock-in.
Your agent doesn't learn a new API, and neither does your team. It points the official Stripe SDK at Knox and swaps in your Knox key. Knox serves 406 Stripe API operations at API version 2026-08-26.dahlia.
The switch changes where new API calls go. Customers, saved cards and subscriptions already in your Stripe account do not move with it.
server.js
import Stripe from "stripe";Removed: const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);Added: const stripe = new Stripe(process.env.KNOX_SECRET_KEY, { host: "api.knoxapi.com" });payments.py
import osimport stripeAdded: KNOX_API_BASE = "https://api.knoxapi.com"Removed: client = stripe.StripeClient(os.environ["STRIPE_SECRET_KEY"])Added: client = stripe.StripeClient(os.environ["KNOX_SECRET_KEY"], base_addresses={"api": KNOX_API_BASE})config/initializers/stripe.rb
require "stripe"Removed: Stripe.api_key = ENV["STRIPE_SECRET_KEY"]Added: Stripe.api_key = ENV["KNOX_SECRET_KEY"]Added: Stripe.api_base = "https://api.knoxapi.com"Terminal
Removed: curl https://api.stripe.com/v1/payment_intents -u $STRIPE_SECRET_KEY: \Added: curl https://api.knoxapi.com/v1/payment_intents -u $KNOX_SECRET_KEY: \ -d amount=2000 -d currency=usdFor developers
Read the prompt your agent will follow.
There's no agent CLI to install. The setup prompt sends your agent to plain-text instructions on docs.knoxapi.com, which it follows over HTTPS.
Set up Knox payments in this repository. Fetch and read https://docs.knoxapi.com/agent-setup/prompt.md, then follow its sandbox integration workflow. Detect whether this is a fresh app, an existing Stripe integration, or another processor; perform the corresponding integration or migration yourself. Keep credentials out of chat and source code, preserve existing payment flows, and verify the integration before reporting success.
- Stripe API operations
- 406
- Pinned Stripe API version
- 2026-08-26.dahlia
- Test mode
- Free
Card data
Keep card numbers off your servers
Card fields from knox.js
Knox's browser SDK renders card fields in a frame Knox serves, so card numbers never reach your page or your server.
Tokenized and vaulted
Card numbers never touch your servers. They're tokenized and held in a secure vault. How Knox handles card data
Guardrails for agents
Before it hands you the pull request, the agent reviews its changes for credentials and raw card fields and runs your project's secret scanner.
Your agent is ready when you are.
Paste the prompt into your coding agent, or start a test account and look around first. Live payments are available by request.