till_create_invoice
Create a Web2-style INVOICE (number, line items, due date, bill-to) on the SAME non-custodial registry: paid by the same EIP-681 intent, verified by the same chain discipline, recorded in the same provable till roll. Returns the invoice + a human-readable bill (EN/FR) + the payment URI.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | merchant 0x address (their own wallet — non-custodial) | |
| lang | No | "en" (default) or "fr" | |
| rail | No | optional — how this invoice SETTLES. Absent or "base" = USDC on Base, which BIII reads and can therefore attest. Name any other rail ("card", "sepa", "cash", "mastercard-agent-pay") and till_check_invoice returns not_observable instead of calling the customer unpaid: an invoice settled by card or in cash will never appear on Base, so the absence of an on-chain transfer says nothing about them. Pass the SAME rail to till_check_invoice. | |
| billTo | No | ||
| number | No | ||
| dueDateMs | No | ||
| lineItems | Yes | [{description, amountUsd} or {description, qty, unitUsd}] | |
| merchantName | No |