Host allowlist
Bounds which domains an agent may reach. A call to a host outside the list is denied before any payment is requested, and the refusal names the host.
Set what an agent may spend. Check it before every payment.
A Precept is signed spend authority bound to an agent identity: a cap, a period, an allowlist, an expiry. Know Your Intent is the Abstraxn process that produces a Precept. Every proposed action is checked against the sealed Precept before x402 requests payment.
Cap kit spend. Gate external calls. Keep humans in the loop.
Spend policy is per agent and off by default. Enable it with PATCH /agents/:id/spend-policy, stored as metadata.spendPolicy. Run it in advisory mode first. Advisory records what the policy would have decided without blocking anything, so you can tune against real traffic before it enforces.
Precept fields
amountThe ceiling on a single call. Checked against the quoted kit price, not an estimate, so the comparison is exact.
windowThe rolling period budget and its reset boundary. The refusal payload returns both the remaining allowance and the reset timestamp.
categoryThe merchant or tool categories this agent may spend in. Where a business ceiling also applies, the effective set is the intersection.
hostThe domains this agent may reach. A call to any host outside the list is denied before payment is requested.
commitment_shapeWhether the agent may enter a recurring commitment or only a one-off. A subscription binds future periods, so it is authorised separately.
expiryWhen the Precept stops being valid. An expired Precept fails closed. It does not degrade to a warning.
modeenforce or advisory. Advisory decides and records without blocking, which is how you promote a rule safely.
Denial payload
A denied call returns which rule failed, which rules passed, the remaining allowance, the reset time, a retry shape and a receipt hash. The agent can act on that. A generic 403 tells it nothing.
Covered. Fixed-price MCP tools where the amount is known before the call. Spend policy runs first, then payment requirements, then verify, execute and settle.
Not covered. Where price is only known after the response, a cap has nothing to compare against. The host allowlist and discovery filters apply instead. Abstraxn states this rather than implying a control it cannot enforce.
Not covered. Signing stays in your wallet, so a raw transfer sits outside the kit. Recipient allowlists belong in your application, next to the key that signs. Abstraxn never holds that key.
Bounds which domains an agent may reach. A call to a host outside the list is denied before any payment is requested, and the refusal names the host.
Bounds which MCP tools an agent may invoke on an allowed host. This matters when one server exposes a read tool and a write tool at the same address.
Bounds spend by category rather than by host. Where a business sets a ceiling and a user sets their own, the effective list is the intersection of both.
For on-chain transfers, the recipient list lives in your application beside the signing key. Abstraxn does not hold the list, because Abstraxn does not hold the key.
The kit does not replace your approval UI. It creates natural pause points.
amountThe amount clears the period budget but exceeds the single-call cap. The agent gets a hold rather than a denial, and the approval carries through as a one-off.
new_hostThe host is not on the allowlist yet. Approving once adds it, so the second call to the same host clears without interrupting anyone.
commitment_shapeA subscription binds future periods, so it is treated differently from a one-off of the same amount. Recurring shape escalates unless it was authorised by name.
dry-runAdvisory mode records what the policy would have denied without blocking it. Promoting that rule to enforcement turns those records into pause points before it starts refusing.
A person describes the limits in plain language. The Intent Compiler turns that into typed constraints. Anything it cannot enforce is declined out loud, never quietly guessed.
The person approves the structure, not the sentence. The confirmed version is signed, versioned and hash-anchored in the Precept Ledger. An amendment creates a new version rather than editing the old one.
The Authority Gate is the component that checks each proposed action. It evaluates amount, window, category, host and commitment shape against the sealed Precept. Allow, deny or escalate, before x402 requests payment.
Every outcome is receipted, refusals included. The Open Verifier is open-source software that runs offline and checks any receipt against the Precept it cites. No Abstraxn account is required.
A control that only reports after settlement is monitoring, not authorization.
A denial naming the failing rule and a retry shape is worth more to an agent than a silent success.
Abstraxn holds no funds, issues no spendable credential and initiates no payment, which is exactly what makes neutral verification possible.
Abstraxn publishes what spend policy does not enforce, because a control you cannot describe precisely is a control nobody trusts.
The verifier is open source and runs offline, so no part of the trail depends on Abstraxn continuing to exist.
AI agent identity and authentication answer who is acting. Agent authorization answers what it may do. A payment check needs both.
Embedded wallets and ERC-4337 account abstraction hold the keys, so signing stays with you while the policy check sits in front of it.
The MCP server directory quotes a kit price before the call, which is what makes a cap checkable rather than estimated.
x402 requests payment only after authorization clears, so nothing is charged against a Precept that already failed.
Stablecoin settlement records the Precept that authorised each payment, so the money trail and the authority trail reconcile against each other.
Set what an agent may spend. Check it before every payment. Receipt every outcome, refusals included.
Spend policy is a PATCH on the agent object. Two MCP responses carry the decision forward. Payment Required (402): approve or sign, then retry with paymentPayload. Spend Policy Denied (-32403): see error.data.spendPolicy for the failing rule, remaining allowance and retry shape.
PATCH /agents/{agentId}/spend-policy
Authorization: X-API-Key (application key)
{
"enabled": true,
"budgetUsd": "5.00",
"period": "daily",
"hardBlock": true
}Signing stays with you. Enforce recipient allowlists and transfer limits in your application, next to the key. Abstraxn never holds that key.
AI agent authorization is the check between an agent deciding to spend and the money moving. The agent presents an identity and a Precept, and the amount, period, host and commitment shape are checked before any payment is requested.
Nothing moves. The Authority Gate denies before payment is requested and names the failing rule. The refusal returns the remaining allowance and a retry shape, and is sealed as a receipt.
No. Abstraxn ships spend policy off by default, enabled per agent, and it can run in advisory mode first, recording what it would have decided without blocking anything.
A Precept can be revoked immediately by the principal who signed it, and the revocation is itself receipted. Any decision timestamped after the revocation is invalid by construction rather than by policy.
Yes. Abstraxn checks a Precept over the same MCP call any agent already makes, whoever built the agent. Identity can arrive as an ERC-8004 registration, a DID, a verifiable credential or an enterprise agent ID.
Set a Precept on one agent, run it in advisory mode for a week, and count how many times it would have said no.