The 9-phase evaluation pipeline that powers xBPP decisions.
When an agent requests a transaction, xBPP evaluates it through a 9-phase pipeline. Each phase can produce reason codes that contribute to the final verdict. Phases are evaluated in order - if any phase produces a BLOCK, the pipeline short-circuits.
Schema validation - is the action well-formed? Are required fields present and correctly typed?
Kill switch check - is a global, principal, or agent-level emergency stop active?
Value sanity - is the amount negative, zero, or exceeding precision limits?
Spending bounds - does the transaction exceed single, daily, weekly, or monthly limits?
Action hash check - has this exact transaction been seen within the duplicate window?
Counterparty verification - is the target known, trusted, and not revoked or blocklisted?
Chain rules, rate limits, gas rules, confidence thresholds - domain-specific checks.
Human review triggers - does the value, context, or risk level require human approval?
Aggregate all check results into a single Verdict with reason codes and metadata.
The posture controls how the evaluator handles ambiguous situations - cases where the spec says "varies" rather than a fixed decision.
| Situation | Aggressive | Balanced | Cautious |
|---|---|---|---|
| New counterparty | Allow | Escalate | Block |
| Verification unavailable | Allow | Escalate | Block |
| Near daily limit (>80%) | Allow | Warn | Escalate |
| Unknown chain | Escalate | Block | Block |
| Low confidence | Warn | Escalate | Block |
Note: The reference SDK (@vanar/xbpp v0.1.0-beta.1) implements a simplified 12-check flat evaluation model covering core policy checks. The full 9-phase pipeline described above is the protocol specification - the SDK will expand to cover it in future releases.
The interactive Playground simulates the full 9-phase model as a spec visualization tool. For production use, refer to the SDK documentation for what's currently implemented.