Pay looot from your agent
Which ways an agent can pay for looot credit today, which are untested, and which are not built yet, with the steps for the one that works.
looot runs on prepaid credit. When the balance is too low, someone has to pay a top-up. This page says which ways an agent can do that itself, and how sure we are about each one.
| Way to pay | Status | What the agent needs |
|---|---|---|
| The Stripe Checkout link | Works today | The top_up tool, and a person or a browser tool to pay the page |
| A one-time agent card on the Checkout page | Untested | A card from a card-issuing service for agents, and a browser tool |
| A Stripe Link agent wallet | Not built yet | A shared payment token; looot has no route that takes one |
| An x402 wallet, pay per call | Not built yet | A wallet that signs x402 payments; looot does not answer in x402 |
“Works today” means we ran it and the credit landed. “Untested” means it should work but nobody has run it yet, so this page gives no steps for it. “Not built yet” means looot cannot take that payment today.
When you need it
- A new workspace starts at $0, so the first paid run needs a top-up. See Before your first run.
- A run is refused with
insufficient_balancewhen the balance cannot cover its hold. - The minimum top-up is not written on this page. It comes from the gateway:
balancereturns it astopUpLink.minimumUsd, andlooot balanceprints it.
looot never sees card details. Stripe hosts the payment page, and no looot API takes a card number.
The Stripe Checkout link
Status: Works today
An agent token cannot charge a card. It asks for a Stripe Checkout link, and whoever holds the card pays on that page.
-
Check the balance and the minimum.
balance {}looot balance # prints the balance, the minimum top-up and the top-up link -
Get a Checkout link.
amountUsdis optional; without it, looot suggests an amount of at leasttopUpLink.minimumUsd.top_up { "amountUsd": 25 }looot balance # read topUpLink.checkoutUrl or topUpLink.dashboardUrl from the outputThe
top_upanswer carriescheckoutUrl:{ "checkoutUrl": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4", "topUpId": "topup_9f8e7d6c5b4a3928", "amountUsd": 25, "dashboardUrl": "https://looot.ai/usage?top_up=1" } -
Pay on the
checkoutUrlpage. Most agents hand the link to their person. WhencheckoutUrlisnull, the answer has areason; send the person todashboardUrlinstead. -
Call
balanceagain. The credit shows once Stripe confirms the payment, not when the page opens. -
Run the call again with a new idempotency key. A run refused for
insufficient_balanceis not retried for you.
Asking again for the same amount within 10 minutes returns the same link, and a workspace can open at most 3 new Checkout sessions per hour. The Top up page lists the errors.
A one-time agent card on the Checkout page
Status: Untested
Some card-issuing services give an agent a one-time card number for a single purchase. An agent
that holds such a card and a browser tool could open the checkoutUrl from the section above and
type the card into the Stripe page itself. Nobody has run this on looot yet, so there are no
steps here. If you try it, expect this:
- The card must cover the full top-up amount, and the amount must be at least
topUpLink.minimumUsd. - The card’s bank may ask for a 3D Secure check on the Stripe page. The agent then needs the code its card service gives for that check.
- Stripe may block the payment. looot does not see why; the Stripe page shows the error.
- Checkout saves the card for auto top-up. A one-time card is dead after the first charge, so an auto top-up on it fails. Turn auto top-up off on looot.ai/usage before you pay with a one-time card.
A Stripe Link agent wallet
Status: Not built yet
A Stripe Link agent wallet can hand a seller a shared payment token instead of a card number, with no browser. looot has no route that accepts a shared payment token today, so an agent with only a Link wallet still needs the Checkout link above. This page will say when it works.
An x402 wallet, pay per call
Status: Not built yet
x402 is an open protocol: the seller answers HTTP 402 with payment terms, and the agent’s wallet
signs a stablecoin payment for that one call, with no account. looot answers 402 with
insufficient_balance and a top-up link, not with x402 terms, and every run needs a looot
workspace. This page will say when it works.