Skip to main content
Use the Managed Payments API to return funds from a settled stablecoin payin to the original sender or another recipient address. For context on how payins are received, see Receive stablecoin payins.
Crypto refunds are irreversible. Circle does not default to a return mode. Always confirm with your customer which wallet and exchange they want funds returned to. Many exchanges send from omnibus wallets shared across users. Refunding to the original sender address can route funds to an omnibus wallet, making the refund difficult to attribute and potentially resulting in lost customer funds.

Prerequisites

Before you begin, ensure that you’ve:
  • Enabled Managed Payments with your Circle legal entity.
  • Received a completed crypto payment with status: "paid" and noted the payment intent ID.
  • Created an API key with Managed Payments access from the CPN Console.
  • (Circle Singapore Mode 2 only) Obtained the Address Book entitlement from Circle and noted the paymentId of the original payment from paymentIds[] on the intent.

Steps

The refund flow differs by Circle entity. Circle LLC (US) merchants refund to a raw blockchain address. Circle Singapore (CIRCLE_SG) merchants must refund through a registered address book entry or back to the original sender—raw addresses are not permitted. Select the tab for the Circle entity that books your payins.

Initiate the refund

Send a POST request to /v1/paymentIntents/{paymentIntentId}/refund. Set destination.address to the recipient’s blockchain address and destination.chain to the correct network.
A successful response returns a Refund object with status: "pending":
Circle settles the refund onchain and updates the status to paid when complete. For the full lifecycle, see Stablecoin payin states.

Error handling

If the request fails, the response contains a numeric error code and message. Common failures include an invalid paymentId, an inactive address book entry, or a VASP mismatch between the sender and recipient. For the full list of codes and remediation steps, see Error codes.