till_authorize
SPEND AUTHORIZATION (Skyfire Programmable Payment): create a charge AND check it against what the agent's OWNER signed off — token, recipient allow-list, per-charge max, AND the cumulative cap. Fail-closed and drain-safe: an EIP-681 payment intent is issued ONLY if the charge is authorized (ten small charges cannot beat a low cap). BIII does not verify the authorization JWT signature itself — pass verified:true after checking it, or supply a spendAuth object. The caller tracks spentMicro (BIII is stateless).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | merchant 0x address (their own wallet) | |
| label | No | ||
| verified | No | attest the authorization JWT signature verified (BIII does not check it itself) | |
| amountUsd | No | e.g. "12.50" (or use amountMicro) | |
| spendAuth | Yes | the owner's signed spend authorization: a Programmable-Payment JWT (string) OR an object {token, chainId, maxPerChargeMicro, cumulativeCapMicro, allowedRecipients, exp} | |
| spentMicro | No | how much has ALREADY been spent under this authorization (the caller's running total — the cumulative guard) | |
| amountMicro | No |