Skip to main content

Ward Protocol

ward_signed = False — always. Ward constructs unsigned transactions. Institutions sign. The chain settles. Ward is never a counterparty, never a custodian, never a signatory.

CI PyPI npm License: MIT

Overview

Ward Protocol defines deterministic default resolution for institutional lending vaults on the XRP Ledger (XLS-66 amendment in validator voting). The validator specifies nine checks sourced from authoritative ledger state — no discretionary Ward approval and no Ward signature. The hosted Altnet surface currently proves policy checks F01-F03. Full XLS-66 lifecycle validation is the next XRPL Devnet integration milestone.

wardprotocol.org | wardprotocol.org/assurance | wardprotocol.org/demo

Live Status

Metric Value
SDK Version PyPI/npm badges above
Hosted API api.wardprotocol.org — live
Test Counts Latest CI + src/lib/wardMetrics.ts
Critical Path Coverage src/lib/wardMetrics.ts
Documented Invariants 32
TLA+ Model Checks INV-007 and INV-016 in CI
Dependency Security CI audit and secret-scanning gates
XRPLF Standard Discussion #474 — active

The Nine Checks

Step Check
1 NFT existence + taxon 281 (XLS-20)
2 Policy validity — ledger close_time + on-chain premium payment
3 Vault address binding — NFT metadata vault == defaulted vault
4 LSF_LOAN_DEFAULT flag on LedgerEntry(index=loan_id)
5 Vault loss > 0 drops
6 Pool usable balance >= vault loss (balance - XRPL reserve)
7 Replay protection — NFT still live (burn-on-settlement)
8 Claimant holds NFT — AccountNFTs(account=claimant)
9 Pool solvency + rate limit (<=3/NFT/300s, ratio >=1.5x)

Install

pip install ward-protocol          # Python SDK
npm install @wardprotocol/sdk      # TypeScript SDK

Hosted API: https://api.wardprotocol.org

Quick Start

import asyncio
from ward import WardClient, ClaimValidator

# Validate against the configured XRPL endpoint
validator = ClaimValidator(url="https://s.altnet.rippletest.net:51234/")
claim = await validator.validate_claim(
    claimant_address="rClaimantXXX...",
    nft_token_id="A" * 64,
    defaulted_vault="rVaultXXX...",
    loan_id="B" * 64,
    pool_address="rPoolXXX...",
)
print(claim.approved)           # True
print(claim.steps_passed)       # 9
print(claim.ward_signed)        # False — always

Integration Status

Surface Status Evidence
XRPL Altnet Hosted verification F01-F03 policy evidence
XRPL Devnet XLS-65/66 Next integration milestone Full vault, loan, default, and checks 4-9 lifecycle
Non-XRPL modules Source scaffolds only Seven modules contain unimplemented lifecycle methods

Ward's resolution model is intended to be rail-agnostic, but no non-XRPL module is presented as a deployable integration. See docs/multichain-gaps.md.

Running Tests

# Python
pip install -r requirements.txt
python3 -m pytest tests/ -v

# Rust
cd ward && cargo test

# TypeScript
cd sdk/typescript && npm install && npm test

Assurance

Internal pre-mainnet security report, TLA+ models, and continuous scanning results: wardprotocol.org/assurance

  • Automated test and coverage totals are maintained in src/lib/wardMetrics.ts
  • 32 invariants are documented in INVARIANTS.md
  • TLA+ CI model checks cover INV-007 and INV-016; this is not a proof of all 32 invariants
  • Dependency audit, secret scanning, and signer-boundary checks run in CI
  • Git history scrubbed and verified clean
  • ward_signed = False enforced at 4 independent layers

Community

  • Discord: discord.gg/j45hnRP3HW
  • XRPLF Discussion #474: github.com/XRPLF/XRPL-Standards/discussions/474
  • Website: wardprotocol.org
  • X: x.com/wardprotocol

Commercial

Published SDK packages and included specifications are MIT licensed. Mainnet API, Ward-conformant certification, and enterprise support require a commercial license. See COMMERCIAL.md.

Contact: team@wardprotocol.org

License

MIT — see LICENSE file.

ward_signed = False — always.

Metadata

Release files for ward-protocol 0.2.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ward-protocol 0.2.11
File Size Uploaded Provenance Actions
ward_protocol-0.2.11.tar.gz 157.1 kB Without provenance Details for ward_protocol-0.2.11.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ward-protocol 0.2.11
File Interpreter ABI Platform Actions
ward_protocol-0.2.11-py3-none-any.whl Python 3 none any Details for ward_protocol-0.2.11-py3-none-any.whl

Total release size: 259.4 kB

Release files / ward_protocol-0.2.11.tar.gz

Download URL ward_protocol-0.2.11.tar.gz
Size 157.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3c11b504a2181c2fb675733c18dc5c20c457ef7fe457a47bd5a342a7deefc6d1
BLAKE2b-256 checksum
How to use checksums
1328a5fabc425ec8e2d373611dc5aa79205ebc29ad0d29dc7d39ae107848848a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / ward_protocol-0.2.11-py3-none-any.whl

Download URL ward_protocol-0.2.11-py3-none-any.whl
Size 102.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c0bce9eaedcf61686066cbc96408c76ee5edc4844d7499f94e4bdc19dc3766c
BLAKE2b-256 checksum
How to use checksums
3441bebaacb8f8c78a42bdc7644d8c648ed8fa5c1eed0de6a8929185ade53fd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Security for ward-protocol 0.2.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page