decision
The top-line policy result for the action being evaluated.
- allow: the request can proceed to submit.
- review: a human operator needs to approve the action first.
- deny: the action should be rewritten before retry.
Buyer-safe explainer
This page explains the shipped response fields on POST /v1/action/authorize so a buyer can read one paid decision quickly without a live walkthrough. The contract today is centered on four fields: decision, policy.reasons, operator.step, and billing.
Field Map
The top-line policy result for the action being evaluated.
A concise explanation of why TXRISK returned that decision.
The next action the caller should take after reading the decision.
The payment proof attached to the admitted decision.
Decision Reading
Live Contract Examples
This is the shipped allow path for the built-in vendor payout template. The operator can submit the action immediately because operator.step resolves to proceed_to_submit.
{
"mode": "action_authorize",
"authorizationId": "auth_882c6beff8fd",
"decision": "allow",
"action": {
"version": "bankr-preflight-v1",
"kind": "transfer",
"chain": "base",
"actor": "0x1111111111111111111111111111111111111111",
"targetAddress": "0x1111111111111111111111111111111111111112",
"amountUsd": 2800,
"metadata": {"tokenSymbol": "USDC"}
},
"policy": {
"profile": "operator_guard_v1",
"decisionSource": "txrisk_action_policy",
"reasons": [
"counterparty risk band=low score=7",
"watch flags: mixer_interaction, velocity_spike"
],
"chargedOnDecision": true
},
"operator": {
"step": "proceed_to_submit"
},
"billing": {
"charged_usdc": "0.0020",
"remaining_balance_usdc": "0.9980",
"settlement_mode": "direct_transfer",
"settlement_reference": null
}
}
This is the shipped review path for the built-in subscription purchase template. The policy did not deny the action, but it requires explicit operator approval before submit.
{
"mode": "action_authorize",
"authorizationId": "auth_844e3de6d819",
"decision": "review",
"action": {
"version": "bankr-preflight-v1",
"kind": "approval",
"chain": "base",
"actor": "0x1111111111111111111111111111111111111111",
"targetAddress": "0x2222222222222222222222222222222222222222",
"amountUsd": 299,
"metadata": {
"tokenAddress": "0x3333333333333333333333333333333333333333",
"allowanceUsd": 299,
"approvalScope": "exact"
}
},
"policy": {
"profile": "operator_guard_v1",
"decisionSource": "txrisk_action_policy",
"reasons": [
"counterparty risk band=medium score=36",
"watch flags: sanctions_proximity, contract_exploit_cluster"
],
"chargedOnDecision": true
},
"operator": {
"step": "require_operator_review"
},
"billing": {
"charged_usdc": "0.0020",
"remaining_balance_usdc": "0.9960",
"settlement_mode": "direct_transfer",
"settlement_reference": null
}
}
Proof Path