Deposit fiat (onramp) from an external bank account to mint USDC or EURC in your Circle Mint balance. TheDocumentation Index
Fetch the complete documentation index at: https://developers.circle.com/llms.txt
Use this file to discover all available pages before exploring further.
/wires endpoint supports multiple payment rails,
including standard wires (FedWire and SWIFT), real-time interbank rails (RTP,
SPEI, SEPA, and CHATS) where available, and book transfers when you bank with
one of Circle’s settlement partners.
This guide focuses on standard wire deposits. The same endpoint handles other
rails — Circle routes the deposit based on your linked bank and region.
Rail-specific parameters and additional endpoints (such as CUBIX and PIX for
local currencies) are out of scope here.
Prerequisites
Before you begin:- Complete the account and API key setup.
- Have access to a bank account that can send wire transfers.
Step 1. Link a bank account
Use the create a wire bank account endpoint to register your external bank account with Circle Mint.id and trackingRef values from the response. You use both in the
following steps.
Step 2. Retrieve wire instructions
Use the get wire instructions endpoint to fetch the beneficiary details your bank needs to send the wire.- Beneficiary details — the name and address of the recipient (Circle).
- Routing information — the bank name, SWIFT code, and routing number for the beneficiary bank.
- Virtual Account Number — the
beneficiaryBank.accountNumberfield, unique to your linked bank account. - Tracking reference — the
trackingRefvalue to include in the wire memo.
Virtual account numbers
Not all Circle settlement banks support Virtual Account Numbers. WhenvirtualAccountEnabled is true in the wire instructions response, the linked
bank account has a unique VAN in the beneficiaryBank.accountNumber field. When
the sender includes the VAN as the account number on their wire, the tracking
reference in the wire memo becomes optional.
When virtualAccountEnabled is false, the sender must include the
trackingRef in the wire memo so Circle can match the deposit to your account.
Benefits of using a VAN (where supported):
- Eliminates the need for senders to include tracking references in payment instructions.
- Reduces wire returns caused by missing or incorrect tracking references.
- Supports all wire types: domestic, international, and SWIFT.
Step 3. Send the wire deposit
In production, initiate the wire transfer from your bank using the instructions returned in Step 2. Confirm that the wire details — beneficiary name, account number, and routing number — match exactly. Mismatched details can result in wire returns or processing delays of several business days. Domestic wire deposits received before the daily cutoff typically settle on the same business day. International wires may take longer depending on intermediary banks.Simulate a deposit in sandbox
In the sandbox environment, use the mock wire payment endpoint to simulate a wire deposit without sending real funds. Provide thetrackingRef from Step 2 and the beneficiaryBank.accountNumber (the VAN) from
the wire instructions response.
The mock wire endpoint is available in sandbox only. Mock wire deposits
process in batches and may take up to 15 minutes to complete.
Step 4. Verify the deposit
Use the list deposits endpoint to confirm the incoming fiat deposit has settled.See also
- How Minting and Redemption Works — understand the minting process
- Sandbox to Production — transition to production
- Create a wire bank account — API reference