SoftAgent submodule
FairX402
Agentic procurement engine inside SoftAgent: discover → route → procure → verify → evidence. SoftPay is an optional adapter — Quote accept/resume defaults to SoftAgent-native mock and does not require SoftPay. FairX402 never signs or moves funds. Algorand challenge packaging lives on FairAnd402. Quote binding: CommerceLite.
Pipeline
- Discover — Bazaar / mock registry
- Route — FairRoute (no LLM ranking)
- Procure — native mock rail by default; SoftPay only if payment_rail=softpay
- Verify — provider response ≠ payment success
- Evidence — bundle + SoftAgent DecisionTrace refs
- Quote — SoftAgent CommerceLite (`saqte_`) from plan
Invariants
- No chain keys in FairX402
- Idempotent payment identifiers
- ≥2 independent payTo/providers (configurable)
- Money as integer string + decimals
API surface
POST /v1/fairx402/verified-project-brief
POST /v1/fairx402/jobs/:id/quotes
GET /v1/fairx402/jobs/:id/plan
Tool: verified_project_brief