Pre-payment checks for AI agents

Your agent shouldn't pay strangers.

Ingam is one API call your agent makes right before money moves. It checks who is getting paid and why, then answers allow, hold for a human, or block.

Free during beta. No spam, just launch news.

In Korea, big money moves only with an ingam, a registered seal that proves who you are. Your agent's payments deserve the same.
Before your agent paysfrom ingam import Ingam
ingam = Ingam(api_key="ik_live_...")

seal = ingam.check(
    user_intent="Buy a laptop stand under $30",
    payee={"domain": "shop.example.com"},
    amount={"value": 29.99, "currency": "USD"},
    sources=pages_the_agent_read,
)

if seal.decision == "allow":
    pay()
elif seal.decision == "review":
    ask_user(seal.ask_user)  # one clear question
else:
    stop(seal.reasons)
What comes back{
  "decision": "review",
  "risk": "medium",
  "reasons": [
    { "code": "PAYEE_UNDECLARED",
      "detail": "no payment file on this domain" },
    { "code": "DOMAIN_NEW",
      "detail": "registered 9 days ago" }
  ],
  "ask_user": "This seller is new (domain is 9 days old).
               Pay $29.99 anyway?"
}

Agents get tricked in ways people don't.

An agent reads the web, follows instructions, and pays fast. Scammers only need to fool it once. Ingam runs four checks before anything leaves the account.

01 · Instruction source

Did the user ask for this payment?

Catches payment instructions hidden in pages and emails the agent read (prompt injection).

02 · Payee match

Is the money going where the seller says?

Compares the checkout or wallet with what the seller's own domain declares.

03 · Track record

Has this payee been around?

Domain age, certificate history, wallet history, look-alike names, your past payments.

04 · Amount

Does the amount make sense?

Over the user's budget, far above past payments, or a 100x unit slip.

Unknown means hold, not allow.

Scammers can spin up a new site or wallet in seconds, so blocklists are always a step behind. Ingam trusts only what can't be faked overnight.

Blocklist tools

Pay unless it's reported as a scam.

  • A brand-new scam site passes
  • Safety depends on someone getting burned first

Ingam

Pay only when there's proof.

  • History, verified ownership, or your past payments
  • Anything else waits for a human, with one clear question

Three answers. Your agent branches on one field.

Every answer comes with reason codes you can log, show, or test against.

allow

Pay now

The user asked for it, the payee checks out, and the amount fits.

review

Ask the human

Not enough proof yet. You get a one-line question ready to show the user.

block

Stop

Hidden instructions, a mismatched payee, or a look-alike domain.

Sell to agents? Register your seal.

Publish one small file on your domain that says where you accept payment. Agents using Ingam will see you as a verified merchant and pay without holding. Free for merchants.

https://yourstore.com/.well-known/…{
  "merchant": "Your Store",
  "checkout_hosts": ["checkout.yourstore.com"],
  "wallets": [
    { "chain": "base", "address": "0x…" }
  ]
}
// format is a draft, feedback welcome

Get early access.

We're onboarding agent builders in small batches. Tell us what you're building and we'll reach out.