BASEN
We decide. We do not move money.

Spend authorization API

The spend firewall for agents. They keep their wallet. You keep control.

Send an Intent. Evaluate returns ALLOW, DENY, or REQUIRE_APPROVAL, plus reason codes and a signed Execution Log. We do not hold or move funds. Perimeter is the object.

POST /v1/evaluate
{
  "agent_id": "agent_ads",
  "amount_minor": 500,
  "currency": "USD",
  "vendor_id": "domain:openai.com",
  "rail": "stripe",
  "idempotency_key": "idem_042"
}
200 · signed execution log
{
  "decision": "ALLOW",
  "reason_codes": ["within_perimeter"],
  "decision_id": "dec_01",
  "execution_log_id": "log_01",
  "execution_log": {
    "decision": "ALLOW",
    "reason_codes": ["within_perimeter"],
    "signature": "hmac-sha256…"
  },
  "budget_remaining_minor": 9500,
  "approval": null
}

What Basen is

A rail-agnostic authorization API. The agent, or its tool, sends an Intent. Basen returns a decision and a signed Execution Log. The Perimeter is the object: budget, vendor allowlist, per-intent cap, velocity, approval threshold, cooldown, and a kill switch.

What Basen is not

We do not hold or move funds. We do not issue cards, run wallets, or send USDC. If the signer fails, the answer is not ALLOW. The caller must not spend.

Price

$500–$2,000 / month per workspace.

Fail closed

First matching deny wins. An empty allowlist denies all. One reason code. No model on the evaluate path. Money is integer minor units.

Status

ALLOW within_perimeter
DENY kill_switch · vendor_not_allowed · budget_exceeded
REQUIRE_APPROVAL approval_required