Metadata-Version: 2.4
Name: duewall
Version: 0.2.0
Summary: Read-only client for the DueWall maturity calendar of tokenized credit (RWA) — events, liquidity terms, NAV series, Bitcoin-anchored integrity
Author: DueWall Labs
License: MIT
Project-URL: Homepage, https://duewall.com
Project-URL: Source, https://github.com/OneLight1688/duewall-adapters
Keywords: rwa,tokenized-credit,private-credit,maturity-calendar,defi,fintech,ai-agents
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# duewall

Read-only Python client for the [DueWall](https://duewall.com) maturity calendar
of tokenized credit — *"the liability time-axis for tokenized credit."*

On-chain data is a rear-view mirror: Maple's public API lists 266 loans, **all
matured, zero forward maturities visible on-chain**. The forward-looking layer
lives in documents — loan agreements and fund factsheets. DueWall reads them,
with per-field source links, human verification and a coverage-grade system,
and serves the result as a free public API.

## Install

```bash
pip install duewall
```

## Usage

Zero dependencies (stdlib only).

```python
from duewall import DueWall

dw = DueWall()

dw.meta()                               # record counts, license, schema links
dw.events()                             # all events: maturities, redemption
                                        # windows, NAV reports — each with a
                                        # coverage grade (A/B/M) + source_url
dw.forward()                            # future-dated obligations (the layer
                                        # on-chain lacks)
dw.forward(days=90)                     # next 90 days only
dw.terms()                              # human-verified liquidity terms per fund
dw.pools()                              # pool NAV + TVL/APY snapshot
dw.maturity_wall()                      # monthly on-chain maturity distribution
dw.price_history()                      # daily on-chain NAV/price series
dw.by_grade("A")                        # human-verified records only
```

## Example — what matures next?

```python
from duewall import DueWall

dw = DueWall()
for e in sorted(dw.forward(days=180), key=lambda x: x["date"] or ""):
    print(e["date"], e["token"], e["event_type"],
          f"${e['amount_usd']:,.0f}" if e.get("amount_usd") else "",
          e["source_url"])
```

## Coverage grades (A / B / M)

Every record carries a `grade` describing **data completeness — never credit
quality**:

| Grade | Meaning |
|-------|---------|
| **A** | Terms human-verified against issuer factsheets & published |
| **B** | Events covered by machine adapters with source links; terms pending |
| **M** | Below the TVL bar for a dedicated adapter; monitored |

Rules: an event never exceeds the grade of its entity; unmatched rows default
to B; new issuers enter at B and move to A only after a factsheet pass in
human verification. Full policy: [duewall.com/coverage/](https://duewall.com/coverage/).

## Integrity — Bitcoin-anchored

Every daily snapshot is hash-chained (each day binds the previous anchor) and
timestamped via [OpenTimestamps](https://opentimestamps.org): receipts at
[duewall.com/anchor/](https://duewall.com/anchor/), verifiable with
`ots verify` — anyone can prove the data existed at its stated date, unaltered.

## License & citation

- Data: **CC-BY 4.0** — cite *"DueWall Labs (duewall.com)"* and link back.
- Code: MIT.
- Schema: [duewall-adapters/docs/SCHEMA.md](https://github.com/OneLight1688/duewall-adapters/blob/main/docs/SCHEMA.md)

## Links

- Live site: https://duewall.com
- API docs: https://duewall.com/api/
- Open-source adapters & snapshots: https://github.com/OneLight1688/duewall-adapters
