Thank you for your interest in contributing to the eXchange Agent Protocol.
XAP is early-stage. The protocol is in draft. The schemas are being hardened. The most impactful contributions right now are feedback and thinking, not code.
Start with the schemas in /xap/schemas/. They are the source of truth. Then read the open issues and discussions to understand what is already being explored.
XAP is a protocol. Changing a field name or adding a required property can break every implementation. All significant changes start as a discussion, not a pull request.
| Label | Use for |
|---|---|
schema-feedback |
Feedback on the five XAP schemas |
edge-case |
A scenario the protocol does not handle correctly |
vertical-schema |
Domain-specific capability definitions (finance, healthcare, legal, etc.) |
implementation-feedback |
Problems encountered while implementing XAP |
dispute-resolution |
Ideas for deterministic dispute resolution rules |
security |
Security vulnerabilities (see SECURITY.md for responsible disclosure) |
Edge cases are tracked in docs/edge-cases.md with a formal lifecycle:
- DISCOVERED — identified during development, testing, or community feedback
- DOCUMENTED — added to edge-cases.md with scenario, risk, and proposed resolution
- ANALYZED — resolution validated against protocol invariants
- RESOLVED — resolution implemented in schemas, SDK, or engine
- TESTED — validation test covers this edge case
- DEPLOYED — fix is in a released version
To submit an edge case, open an issue using the Edge Case template.
Severity guide:
- S1 (Critical): Could cause financial loss or data corruption
- S2 (High): Could cause incorrect settlement or broken invariant
- S3 (Medium): Could cause degraded experience or incorrect state
- S4 (Low): Cosmetic or unlikely scenario
When submitting, include:
- Category: negotiation, settlement, receipt, verity, discovery, identity, adapter, or cross-cutting
- Scenario: What happens, step by step
- Risk: What goes wrong if unhandled
- Proposed resolution: Your suggestion (optional but appreciated)
- Pull requests that change core protocol objects without a prior discussion
- Implementation code (implementations belong in separate repos)
- Marketing or copy edits
All participants are expected to follow our Code of Conduct.
By contributing, you agree that your contributions will be licensed under the MIT License.