NORNR
Mandates, approvals and evidence for autonomous agents.
Guide / Counterparty controls
9 minutesHow to add counterparty controls to agent workflows
Use NORNR to restrict which vendors or counterparties an agent may spend against.
1. Why this guide matters
Budget alone is not enough. A small spend to the wrong vendor can be riskier than a larger spend to an approved one.
Counterparty controls let you define who the agent may transact with, while keeping the workflow logic itself simple.
2. Install what you need
pip install agentpay
This guide uses the hosted NORNR path at https://nornr.com, so you can validate the decision flow without standing up the full local stack first.
3. Create the governed wallet
from agentpay import Wallet
wallet = Wallet.create(
owner="vendor-guard",
daily_limit=50,
require_approval_above=20,
base_url="https://nornr.com",
)
This wallet is the mandate. It sets the budget and review threshold before the framework-specific workflow is allowed to continue.
4. Apply it in the workflow
decision = wallet.pay(
amount=18.00,
to="new-vendor",
purpose="vendor action",
)
if decision.get("status") == "rejected":
print("Policy blocked the request because the counterparty is outside the mandate.")
The key pattern stays the same across frameworks: ask NORNR for a decision first, then let the expensive or externally billable step run only if policy says yes.
5. What to expect
- approved means the workflow can continue immediately inside its mandate.
- queued means the request crossed an approval threshold and should wait for review.
- rejected means policy did not allow the action to proceed.
That three-way split is what makes the pattern useful: low-risk work stays fast, higher-risk work becomes reviewable, and clearly out-of-policy work never leaves the workflow.
6. Where to go next
Related guides
Keep going from the same control problem.
These are the closest follow-up guides in the same part of the library.
How to add audit trail before agent spend moves
Add a decision trail, receipt context and operator-readable history before agent spend moves.
Read guide Budget guardrails / 8 minutesHow to stop an agent from overspending on APIs
Use NORNR to stop runaway API spend by forcing each paid call through budget and approval policy.
Read guide Decision model / 7 minutesAgent spend governance: approved vs queued vs rejected
Understand what approved, queued and rejected mean in agent spend governance and how to handle each path cleanly.
Read guide