Matura Docs
Concepts

Claims

What a claim is, its types, and the on-chain lifecycle states.

A claim is an on-chain record of future income, anchored to the real world by an issuer's EIP-712 attestation. It carries an amount, a maturity, a beneficiary, and a type, and it moves through a strict lifecycle in the ClaimRegistry.

Claim types

The type enum is the single source of truth shared by Solidity (uint8 ordinals), the Zod schema, and Prisma — a parity test guards against drift.

TypeMeaning
PAYROLLSalary/wages accrued but not yet paid out.
FREELANCE_ESCROWFunds held in escrow against delivered freelance work.
STREAMA continuous payment stream (e.g. vesting).

Lifecycle states

Claim state is also an ordered enum (ordinals are law). The happy path runs ATTESTED → ELIGIBLE → (PARTIALLY_FUNDED) → FUNDED → MATURED → PAID; the remaining states capture failure and administrative outcomes.

StateMeaning
ATTESTEDIssuer attestation registered; not yet eligible to finance.
ELIGIBLEPasses checks; can be financed.
PARTIALLY_FUNDEDSome, not all, of the face has been financed.
FUNDEDFully financed by one or more vault legs.
MATUREDMaturity reached; awaiting settlement.
PAIDSettled — vaults repaid, residual released.
DELAYEDExpected payment is late.
DISPUTEDUnder dispute.
DEFAULTEDDid not pay.
REJECTEDRejected before financing.
REVOKEDRevoked by an authorized party.

Attestation → registration

An approved signer (tracked in the IssuerRegistry, with epochs) signs an EIP-712 attestation. The API's non-custodial write-preparation endpoint returns the typed data; the signature is submitted to register the claim. Adding a new claim type is a deliberate seven-site edit (see ClaimEnums.sol) so the on-chain and off-chain enums never diverge.

See the Glossary for the value types involved and Settlement for how MATURED → PAID works.