confirm_invoice_payment
Verify an already-broadcast invoice payment and activate the purchased data package.
Bearer key for the invoice owner required; no data credits consumed. Reads
Solana at finalized and validates payer, recipient, USDC amount, memo and
payment window. It never broadcasts a payment. Returns paid=true and
invoice_id on settlement. Repeating the same invoice/signature is safe and
never grants access twice. 409 means processing (landing, or unseen for under
30 s): retry this confirmation with backoff, not the payment. 422 means the
signature is still not on Solana: check it is the one your wallet broadcast,
not the prepared transaction's; if it was never sent or its blockhash expired,
prepare a new transaction. 410 means not found and invoice expired. 400 means
mismatch or failed transaction; 404 missing/foreign invoice; 429 retry later
(Retry-After); 503 RPC unavailable. After success,
use get_access_status, then get_recent_trades or get_stream_connection.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"invoice_id": "<invoice_id>",
"signature": "<signature>"
},
"name": "confirm_invoice_payment"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| signature | Yes | Base58 Solana transaction signature returned by your wallet after broadcasting this invoice payment. Not a signed transaction, wallet-login signature or private key. | |
| invoice_id | Yes | Invoice id returned by get_payment_instructions for this API-key account. Not a swap id or Solana transaction signature. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paid | Yes | True once matching finalized payment is verified and the package has been activated. | |
| invoice_id | Yes | Settled invoice ID. Reconfirming the same signature never grants access twice. |