How purchases work
Every purchase through OpenIntents starts as a sentence and ends as a receipt. This page explains what happens in between, who pays whom, and what to do if something goes wrong. For the technical details, see the documentation.
1. Your agent sends an intent
An intent is a request in plain language, such as "buy two packs of
AA batteries from Target". It is sent by an AI agent (through our MCP server
or command line tool) or by an app (through our API). It can include details
the purchase needs, like a delivery address, and a spending cap
(max_amount) that the purchase will never exceed.
2. A real browser does the shopping
OpenIntents opens a real web browser and shops the way a person would: it finds the store, picks the item, fills in delivery details and goes to checkout.
- Each payer has their own browser profile, which keeps their cookies, carts and sign-ins between purchases. One payer's profile is never used for another's purchase.
- We do not create store accounts. If a store needs the payer signed in, the purchase pauses and they get a link to sign in themselves. What they type there is passed to the store and not kept.
- The browser cannot place an order on its own. Order and payment buttons are blocked until the payment step below has checked the amount and the card for it is ready.
3. Checkout and payment
Purchases are paid from the payer's own wallet at Perflo, a payments company. Perflo holds the money, not OpenIntents. The payer connects their Perflo account once, on our site, with Perflo's own sign-in shown in the page. There they set how much one purchase and one month may cost, add money (or turn on Perflo's automatic top-ups from a card they save there), and confirm who they are if Perflo asks.
You meet your wallet only when money is needed. The first live purchase pauses with one link that runs just the steps left: connect the wallet, add the money this purchase needs, and the identity check only if Perflo needs it. The purchase then carries on from the same cart. Later purchases go straight through while your wallet's money and limits allow them. Links expire after 30 minutes.
At checkout, OpenIntents asks Perflo for exactly the cart's total. Perflo checks it against your limits and loads that amount onto your virtual Mastercard. Our software then reveals the card once and types it into the store's payment form itself. The card details are kept in memory for that purchase only: we never store them, and they never reach the AI model or your agent. If the purchase ends without an order, we cancel the request and the money goes back to your wallet.
4. The receipt
Once the store confirms the order, the purchase completes and you get a receipt: the store, the items, the total, our fee and the store's confirmation number. Your app can also be notified by webhook.
What it costs
You pay the store's price (items, tax, delivery and any tips). Our fee is 5% of that total, charged only when the purchase completes, and for now it is waived on purchases paid from your wallet: the receipt shows a fee of $0. Failed, cancelled and test purchases are free. See pricing.
Limits that keep spending in check
max_amountcaps a single purchase.- Your wallet has a limit per purchase and a limit per month, which you set at Perflo. A purchase over them waits until you raise them.
- Test API keys never spend money: a test purchase stops at the payment step and returns a preview.
When something goes wrong
- The purchase can't be done (out of stock, over the cap, the store refuses, or your wallet declines the payment): it fails, any money loaded for it goes back to your wallet, and there is no fee.
- The order button was pressed but no confirmation came back: we do not try again, so you are never charged twice. The purchase is marked for review while we check with the store. We then either complete it with a receipt, or the money that was not spent goes back to your wallet.
- You cancel before payment: nothing is charged.
Returns, refunds and order problems
The store you bought from is the seller. Its own terms, shipping times and
return policy apply to the order. For a return or a problem with the goods,
contact the store, using the confirmation number on your receipt. If you
cannot reach the store or need help, email
[email protected] with the intent ID
(starting with int_) and we will help.