settle_payment
Redeem a payment you have made and activate what it bought — a plan, a pass or call credits. Step two of two, after open_payment and the transfer.
Prove the payment is yours: sign the SIGN message from open_payment with the paying wallet (personal_sign; smart wallets via ERC-1271) and pass it as signature. A transaction hash is public once mined, so without the signature anyone who saw your transfer could redeem it.
The payment is verified by reading Base: the transfer must have reached the settlement address, from the wallet this purchase was opened with, for at least the amount owed, and be five blocks deep. A payment that is real but not yet deep enough returns a pending error naming that — the money has moved, so do not pay again: it settles on its own once deep enough, and calling this again with the same hash reads the outcome. One transaction pays for one purchase, once.
On success your existing API key resolves to the new plan with nothing to change on your side: you become your own principal, and no person holds the subscription.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| signature | Yes | 65-byte hex signature (0x…) from the paying wallet, made with personal_sign (EIP-191) over the SIGN message open_payment returned, with your lower-case transaction hash filled in. Smart-contract wallets are checked with ERC-1271. | |
| transaction_hash | Yes | The Base transaction hash of your USDC transfer: 0x followed by 64 hex characters. |