PayWeavePayWeaveBack to Home
Platform

Refunds

PayWeave automatically detects when a payment was collected but the service failed to deliver. A refund request is created and made available for the workspace owner to review and process. Refunds follow the MPP charge-flow refund model: a standard on-chain transfer back to the payer's address.

How automatic refunds work

When a paid request fails after the on-chain payment has settled, PayWeave records a pending refund with the full error trace. This happens automatically for:

ChannelTrigger
GatewaysUpstream returns 5xx or connection fails
FunctionsHandler throws an exception or returns 5xx
FilesFile not found in storage or storage unavailable

Direct app charges (SDK middleware) do not trigger automatic refunds because the app developer controls their own error handling on their server.

Reviewing refunds

Go to Refunds in the sidebar. Pending refunds are shown by default. Each row shows the refund amount, the payer's address, the trigger (automatic or manual), and the reason. Click a row to open the full payment detail with the complete error trace.

Processing a refund

Since workspace wallets are non-custodial, PayWeave cannot send funds on your behalf. To process a refund, click Process Refund on the payment detail page. This opens a signing dialog where your embedded wallet signs an ERC-20 transfer back to the payer. The signed transaction is submitted through the PayWeave backend for tracking.

Batch refunds

If you have multiple pending refunds, click Process N pending on the Refunds page. All transfers are bundled into a single Tempo batch transaction. You sign once, and all refunds are processed atomically in one on-chain transaction.

Tempo natively supports batch calls, so processing 50 refunds costs roughly the same gas as processing 1. Use batch processing whenever possible.

Manual refunds

You can also issue a refund for any settled payment manually. Open the payment detail page and click Refund. This creates a pending refund that you can then process using the same signing flow.

Refund statuses

StatusMeaning
PendingRefund recorded, waiting for the workspace owner to sign and send.
CompletedRefund transaction confirmed on-chain. Payer has been reimbursed.
FailedBroadcast failed (e.g. insufficient balance). Can be retried.

Platform fees on refunds

Currently, only the workspace portion of the original payment is refunded. The platform fee (3% on Free, 1% on Pro) is not refunded. This may change in a future update.

Refunds are standard on-chain ERC-20 transfers. They are irreversible once confirmed. Always verify the refund details before signing.