Glossary
What is a payment intent?
A payment intent is a record of a payment someone wants to make, tracked through states until it succeeds, fails or is cancelled.
A payment intent is an object representing a payment that has been requested but not necessarily completed, which moves through defined states such as awaiting approval, submitted, confirmed or cancelled.
How does it work?
Separating the request from the settlement is what makes payments manageable. The request can be checked, held for approval, retried safely or cancelled, while the intent records where it is. Stripe's Payment Intents API popularised the term for card payments: one PaymentIntent per order or session, tracking its lifecycle through statuses. The same idea suits agent payments, where an agent asks to pay and many things can happen before money moves: a policy can refuse it, a person can be asked, an approval can lapse. Card payments add their own steps, such as authorisation and capture; stablecoin transfers have others, such as submitted and confirmed on-chain. Either way, the useful property is the same: one object you can query that tells you the truth about one payment.
In practice
An agent calls a create-payment tool and gets back an identifier and a status rather than a yes or no. It then reads that status to learn the outcome. The most important habit is reading the state before acting again: a payment awaiting approval is not a failure, and creating another one would pay twice. Store the intent's identifier with the task that created it, so a later step, or a person, can look it up instead of guessing.
What it does not mean
- A payment intent isn't a payment. Until its status says confirmed, nothing may have moved.
- 'Intent' doesn't mean the agent's reasoning. It's a record kept by the payment system.
- Cancelling an intent can't reverse a payment that has already settled.
Where does Veyra fit?
Veyra's create_payment creates a payment intent with an amount, asset, recipient, network, reason and idempotency key. Its status is one of pending, awaiting_approval, submitted, confirmed, confirmed_simulated, failed, cancelled or expired, readable with get_payment; cancel_payment works while it is still cancellable.
Sources
Guides that use this term
- How to stop an AI agent making duplicate paymentsAgents retry when unsure, and retries can pay twice. Idempotency keys, status checks and tool wording that keep one intended payment to one payment.
- Human-in-the-loop approval for AI agent purchasesHow to make an agent wait for a person before larger payments: where the request goes, what the approver checks, and what happens if nobody answers.
- How to let an AI agent make paymentsGive an agent a payment tool, not a key: limits enforced outside the model, a human for larger amounts, and a record of every decision.
This page explains how agent payments and the related technology work. It is not financial, investment, legal or tax advice. Protocols and provider features change; check the linked official sources before relying on a detail.