Signed, versioned streams
A stream is registered with its terms, a version and both signatures. Updates are new versions; a stale version cannot be financed, and the same obligation cannot be registered twice under another identifier.
Aethel · payment-stream receivables · by æmeth
Aethel takes a payment stream that both parties have signed and turns it into a receivable that independent credit assessors, guarantors, liquidity providers and servicers can act on, each with its own signed authority. It settles through a settlement rail it does not own, zkFMI or any system that returns signed attestations, and never holds the cash.
Both parties sign the schedule and terms; an attestor confirms it. Every update is a new version.
A series policy admits the stream. A credit decision, a guarantee and a funding quote attach, each signed by a different provider and bound to this receivable only.
The rail witnesses issuance: a settled zkPI instruction on zkFMI, an operator-signed settlement on the attested rail. Aethel records the evidence. Paid closes it; default binds a guarantee claim.
Rust state machine13 crateszkFMI or attested railResearch implementationNot audited
What Aethel is
Aethel does not hard-code a lender, a rating model, a guarantor or a marketplace. It records what a payment stream means commercially, who has decided what about it and where each decision stands, and hands anything that moves value to the settlement layer.
A stream is registered with its terms, a version and both signatures. Updates are new versions; a stale version cannot be financed, and the same obligation cannot be registered twice under another identifier.
A receivable series says which streams may be financed and under what rules: whether a guarantee is required, which qualifications the counterparty must prove, what expires when.
A credit decision, a guarantee and a funding quote each carry the exact receivable, a validity window, a nonce and the provider’s signature. None of them can be replayed for another receivable.
Lifecycle
The core is deterministic: the same inputs always produce the same state. What makes it useful is what it rejects.
The stream attestor confirms the payment stream and its updates. A series defines which streams are eligible and under what policy.
A credit assessor signs a decision for this receivable. A guarantor commits coverage from a facility the rail vouches for: a DeCCP hold on zkFMI, an operator-signed hold on the attested rail. The amount can stay confidential.
Liquidity providers submit executable quotes. Issuance is witnessed by the rail, a settled zkPI instruction or a signed attestation, and Aethel records the evidence.
Payment evidence, delinquency, cure and permitted servicing actions are recorded by the servicer. A retried request applies once.
A paid obligation closes the receivable. A default attestation binds evidence to a guarantee claim; the rail allocates the loss and settles it, DeCCP and DeFMI on zkFMI.
Open provider model
Providers register with narrowly scoped capabilities and sign only the artifacts they are responsible for. A credit assessment cannot quietly act as a guarantee; a guarantor cannot issue a funding quote unless separately authorised. One company may hold several capabilities, each granted and revoked on its own.
| Stream attestation | Credit decision | Guarantee | Funding quote | Servicing action | Issuer vouch | |
|---|---|---|---|---|---|---|
StreamAttestorattests a stream and its updates | ||||||
CreditAssessorsigns a decision for one receivable | ||||||
Guarantorcommits cover from an external facility | ||||||
LiquidityProvidersubmits an executable funding quote | ||||||
Servicerperforms permitted servicing actions | ||||||
CredentialIssuervouches for a qualification issuer key, nothing else |
A filled dot is the only artifact that capability may sign. Everything else is refused at the state transition, not by convention.
Where things live
A receivable touches money, identity, guarantees and tokens. Aethel keeps one copy of each, in the system that is the record for it, and stores only references and digests. The same balance, qualification or facility is never copied into a second ledger.
| Information | System of record | What Aethel keeps |
|---|---|---|
| Payment stream, series, remaining principal | Aethel | both signatures, versions, terms, current state |
| Credit decision | the assessor signs · Aethel accepts as state | signed decision, target, version, validity, provider reference |
| Legal name, registration number, KYB evidence | Qualification port · DeKYX issuer, or an attesting issuer | pseudonymous subject reference and a qualification digest |
| Guarantee facility and remaining capacity | Settlement rail · DeCCP, or the guarantor’s operator | opaque backing reference and commitment; settlement evidence on release or claim |
| Token holdings per holder | DeFMI or another asset ledger | supply caps and mint/burn intents with the ledger receipt; no per-holder balances |
| Cash, securities, collateral | Settlement rail · DeFMI, or the operator’s ledger | backing references and settlement evidence; the confirmed root on zkFMI |
| Settlement instruction | Settlement rail · zkPI on zkFMI, a signed attestation otherwise | instruction id, nullifier, domain and proof digest; or the attestation digest |
A series can require a qualification through the port before a decision or guarantee is accepted: a DeKYX presentation on zkFMI, an issuer-signed statement on the attested rail. It is bound to this domain, action, artifact statement, nonce and expiry, so a proof for one decision cannot be replayed for another. Aethel keeps only the verified subject-line binding, never a legal name.
The guarantee amount may stay confidential. Aethel and the rail then exchange commitments, state digests, identifiers and verified transition receipts instead of a plaintext amount; on zkFMI that counterpart is DeCCP.
Issuance, releases and claims are verified by the settlement rail before the book moves. On zkFMI they become typed zkPI instructions that DeFMI settles; on the attested rail an operator-signed settlement is the witness. Aethel never advances on its own say-so.
Settlement rails
Everything Aethel does not own is reached through two ports in the core: a settlement rail that vouches for backings and witnesses issuance, release and claim, and a qualification port that says who stands behind an anonymous line. The rail is chosen per deployment. The book, the artifacts and the tests are the same on either.
aethel-defmi-host · aethel-dekyxzkPI instructions settled by DeFMI, DeCCP holds for confidential cover, DeKYX presentations for anonymous qualification. Requires the hybrid signature suite, Ed25519 + ML-DSA-65.
aethel-rail-attestedOperator-signed holds, reservations and settlements; issuer-signed qualification statements. Ed25519 only, and no zkFMI crate in its dependency graph. A conventional settlement system that can sign its records is enough.
SettlementRailIs this guarantee or funding backing live? Does this witness settle exactly this issuance, release or claim?
QualificationPortWho stands behind this anonymous line, and does the proof bind to this decision and nothing else?
Enterprise PoC
The PoC guide walks from a signed stream to settlement, lists the failure cases that must be refused, the evidence to keep and example acceptance criteria. Roles are separated by key even when one team plays all of them; otherwise the separation of authority cannot be tested.
Status and limits
# the four gates, on Linux with the locked dependency graph · last run 2026-09-13, rust 1.97, 74 tests
cargo test --workspace --locked
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo fmt --all -- --check
cargo build --workspace --release --locked
cargo tree -p aethel --edges normal # no zkfmi, zkpi, defmi, deccp, dekyx