Matura Docs
API & Integration

Write-preparation

Non-custodial endpoints that return unsigned calldata / EIP-712 typed data to sign.

Matura is non-custodial: the API never signs on your behalf. Write-preparation endpoints return either unsigned calldata or EIP-712 typed data; your wallet signs locally and you submit the transaction. All require a bearer token (see Authentication).

Method & pathPrepares
POST /api/v1/claims/registration/prepareRegister a claim from an issuer attestation.
POST /api/v1/issuer/attestations/prepareAn issuer's EIP-712 claim attestation (typed data).
POST /api/v1/executions/prepareA financing execution transaction.
POST /api/v1/settlements/:claimId/prepareA settlement transaction for a matured claim.
GET /api/v1/claims/issued(Read) claims issued by the authenticated caller.

The signing boundary

  • One coerced message is the single source of truth: the same payload feeds the signature, the on-chain hash, and the contract call. Money crosses the boundary as BigInt(str) base units — never toBaseUnits, never a float.
  • Targets are pinned to the manifest — the contract addresses in the prepared transaction come from the generated deployment manifest, not from client input.
  • EIP-712 typed data (attestation + route types and domains) lives in @matura/chain (viem -native); @matura/contracts keeps a copy behind a typehash parity test so the two never diverge.

Shape

A prepare response contains everything the wallet needs (typed data or to/data/value) and nothing secret. You sign it, submit it, and the indexer projects the resulting on-chain events so your reads reflect the new state.

Best-execution financing uses its own two-step prepare flow — see Best-execution routing.