Skip to content
looot docs
Esc
↑↓navigate↵open⌘Jpreview
On this page

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_balance when the balance cannot cover its hold.
  • The minimum top-up is not written on this page. It comes from the gateway: balance returns it as topUpLink.minimumUsd, and looot balance prints it.

looot never sees card details. Stripe hosts the payment page, and no looot API takes a card number.

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.

  1. Check the balance and the minimum.

    balance {}
    looot balance
    # prints the balance, the minimum top-up and the top-up link
  2. Get a Checkout link. amountUsd is optional; without it, looot suggests an amount of at least topUpLink.minimumUsd.

    top_up { "amountUsd": 25 }
    looot balance
    # read topUpLink.checkoutUrl or topUpLink.dashboardUrl from the output

    The top_up answer carries checkoutUrl:

    {
      "checkoutUrl": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4",
      "topUpId": "topup_9f8e7d6c5b4a3928",
      "amountUsd": 25,
      "dashboardUrl": "https://looot.ai/usage?top_up=1"
    }
  3. Pay on the checkoutUrl page. Most agents hand the link to their person. When checkoutUrl is null, the answer has a reason; send the person to dashboardUrl instead.

  4. Call balance again. The credit shows once Stripe confirms the payment, not when the page opens.

  5. Run the call again with a new idempotency key. A run refused for insufficient_balance is 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.

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.

Was this page helpful?