# Circle MCP connector

The Circle connector brings wallets, wallet sets, balances, monitored tokens, and notification subscriptions into Claude, ChatGPT, Cursor, and the Elaichi Agent, so your team can ask about and manage Circle wallets in plain language.

Source: https://elaichi.ai/connectors/circle/

## Facts

| | |
| --- | --- |
| Application | Circle |
| Category | Payment Gateway |
| AI tools | 294 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 294 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Circle is connected

- List monitored tokens added to Circle this week.
- Which Circle notification subscriptions are active per entity?
- Summarize Circle public keys by config entity.

## Connect Circle in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Circle.
2. Optionally set Share with, then press Connect.
3. Paste a Circle API key. One person generates a token in Circle and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Circle tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Circle to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Circle to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Circle to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Circle to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Circle tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Circle through Elaichi

### Check balances across every wallet

Finance. Ask for the current balances across all Circle wallets in one go instead of opening each wallet set. Get a plain answer you can paste into the morning report.

### Set up a new wallet set

Treasury. Create a Circle wallet set for a new product line or region, then add the developer wallets under it, all from a conversation.

### Keep wallet names and details tidy

Operations. Rename a Circle wallet or wallet set after a reorganization so the labels match the team that actually owns it.

### Fund a test wallet quickly

Engineering. Request a faucet drip for a Circle test wallet while building or debugging, without leaving the editor to hunt for the right form.

### Review which tokens are monitored

Compliance. List the tokens Circle is watching for your entity, add a new one, or adjust the scope of several at once before a review.

### Manage notification subscriptions

Platform. See every notification subscription Circle is sending to, create one for a new endpoint, update it when a URL changes, and remove ones nobody uses.

## Frequently asked questions

### How do I connect Circle to Claude?

First, add Circle in Elaichi and paste in the API key from your Circle developer console when asked. There is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude can then work with your Circle wallets, balances, and monitored tokens.

### Does Circle work with ChatGPT and Cursor as well as Claude?

Yes. Once Circle is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Circle once and every client you use picks it up.

### What can an AI agent actually do with my Circle data?

With Circle connected, an agent can list your wallets and wallet sets, report balances, create new developer wallets, update wallet details, manage the tokens Circle monitors for your entity, and create or change notification subscriptions. It can also request a faucet drip for a test wallet. Circle offers a lot of actions, so short, specific asks such as "show balances for the treasury wallet set" work better than long paragraphs.

### Does connecting Circle give the AI access to everything in my Circle account?

No. Every request runs under the Circle API key that was connected, so the agent can only reach what that key is already allowed to reach in Circle. Elaichi can narrow that further by blocking specific actions for a team, but it can never widen access beyond what Circle itself grants.

### Can my team share one Circle connection?

Yes. One person connects Circle in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so every wallet lookup or balance check in the audit log is tied to the person who asked for it, not to a shared account.

### Can I stop an agent from deleting or changing things in Circle?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Circle wallets and balances while blocking the creation of wallets, changes to monitored tokens, or the deletion of notification subscriptions. A blocked action is never shown to Claude, ChatGPT, or any other client at all, so no prompt, however worded, can reach it.

### What happens to a Circle connection when someone leaves?

When you offboard a person in Elaichi, their access to Circle through every client ends immediately. If they had shared a Circle connection with a team, that connection keeps working for everyone else. If you want Circle gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 294 Circle tools

Every tool below is callable through https://api.elaichi.ai/mcp once Circle is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Circle entity monitored tokens** (List). List monitored tokens in Circle, optionally filtered by blockchain, token address, or token symbol. Returns: id.
- **Create a Circle entity monitored token** (Create). Add a new token to Circle's monitored token list. Returns the monitored token object including id, blockchain, tokenAddress, and tokenSymbol. A 200 response indicates the token was already present (no update); a 201 indicates it was newly added. Required: blockchain, tokenAddress.
- **Circle entity monitored tokens bulk update** (Update). Upsert the monitored token list for the Circle entity, adding or updating tokens to monitor across blockchains. Returns the updated monitored tokens including token items with their blockchain, token address, and token symbol. Required: tokenItems.
- **Circle monitored tokens scopes bulk update** (Update). Update the monitored tokens scope in Circle to select between monitoring all tokens or only selected tokens from the monitored tokens list. Returns an empty 200 response on success. Requires a request body specifying the desired monitoring scope.
- **Delete a Circle monitored tokens delete by ID** (Delete). Delete tokens from the monitored token list in Circle. Returns an empty response on success. Requires a request body identifying the tokens to remove.
- **List all Circle entity public keys** (List). Get the public key associated with the entity in Circle's Web3 Services. Returns: data. No caller-supplied parameters required.
- **List all Circle config entities** (List). Get the configuration for the entity in Circle. Returns the app ID associated to the entity. Returns: appId.
- **Create a Circle faucet drip** (Create). Request testnet tokens for your wallet in Circle. Returns an empty 204 response on success. Requires upgrading to mainnet before this endpoint can be called.
- **List all Circle pings** (List). Ping the Circle API to check that the service is running. Returns a simple health-check confirmation response.
- **List all Circle notifications subscriptions** (List). List all notification subscriptions in Circle. Returns: id, name, endpoint, enabled, createDate, updateDate, notificationTypes, restricted.
- **Create a Circle notifications subscription** (Create). Create a notification subscription in Circle by configuring an endpoint to receive webhook notifications. Returns: id, name, endpoint, enabled, createDate, updateDate, notificationTypes, restricted. Required: endpoint, name, enabled, notificationTypes. CPN requires name and enabled in addition to endpoint and notificationTypes.
- **Get single Circle notifications subscription by ID** (Get). Get a single notification subscription in Circle by id. Returns: id. Required: id.
- **Update a Circle notifications subscription by ID** (Update). Update a notification subscription in Circle by id, modifying the endpoint and notification settings. Returns: id, createDate. Required: id.
- **Delete a Circle notifications subscription by ID** (Delete). Delete a notification subscription in Circle by id. Returns an empty 204 response on success. Required: id.
- **Get single Circle notifications public key by ID** (Get). Get a Circle notification signature public key by id. The returned key and algorithm are used to verify digital signatures on webhook notifications, ensuring they came from Circle. Returns: id, algorithm, publicKey, createDate. Required: id.
- **List all Circle w 3 s wallet sets** (List). List all wallet sets in Circle. Returns each wallet set with its id, name, custodyType, createDate, and updateDate.
- **Get single Circle w 3 s wallet set by ID** (Get). Get a Circle wallet set by id. Returns: id. Required: id.
- **Create a Circle developer wallet set** (Create). Create a new developer-controlled wallet set in Circle. Returns the created wallet set object including id, name, and custodyType. A developer account can create up to 1,000 wallet sets, with each set supporting up to 10 million wallets.
- **Update a Circle developer wallet set by ID** (Update). Update the name of a developer-controlled wallet set in Circle. Returns the updated wallet set object including its id, name, custodyType, createDate, and updateDate. Required: id.
- **Create a Circle developer wallet** (Create). Create developer-controlled wallets in Circle within a wallet set for specified blockchains. Returns the created wallet objects including id, address, blockchain, state, walletSetId, and accountType. Required: walletSetId, blockchains, idempotencyKey. Each walletSetId supports a maximum of 10 million wallets.
- **List all Circle w 3 s wallets** (List). List Circle W3S wallets filtered by address, blockchain, wallet set, SCA core, or reference ID. Returns: id.
- **Get single Circle w 3 s wallet by ID** (Get). Retrieve an existing wallet in Circle by its id. Returns the wallet object including id, walletSetId, blockchain, address, state, accountType, createDate, and updateDate. Required: id.
- **Update a Circle w 3 s wallet by ID** (Update). Update the info metadata of a Circle wallet by id. Returns the updated wallet object including id, address, blockchain, walletSetId, custodyType, and metadata. Required: id. Frozen wallets cannot be updated.
- **List all Circle wallets balances** (List). List developer-controlled wallets with balances in Circle, filtered by blockchain and optional criteria. Returns: id. Required: blockchain. On Aptos, only primary storage token balances are returned; secondary storage tokens are excluded.
- **Circle wallets derives bulk update** (Update). Derive a developer-controlled wallet on a target blockchain by reusing the address of an existing source wallet in Circle. If the target wallet already exists, its metadata is updated instead. Returns the wallet object including id, address, blockchain, and walletSetId. Required: source blockchain, wallet address, and target blockchain.
- **Create a Circle sign message** (Create). Sign a message from a developer-controlled wallet in Circle. Supports EIP-191 for Ethereum-based chains and Ed25519 for Solana and Aptos. Returns: id. Required: id, message. Provide either walletId or both walletAddress and blockchain to identify the wallet.
- **Create a Circle sign typed data** (Create). Generate a challenge for signing EIP-712 typed structured data from a user-controlled wallet in Circle. Returns: id. Identify the wallet by providing either walletId, or both walletAddress and blockchain. Only supports Ethereum and EVM-compatible blockchains.
- **Create a Circle sign transaction** (Create). Create a challenge to sign a transaction from a user-controlled wallet in Circle. Returns the challenge including challengeId and challenge content for the user to approve via the Circle SDK. Required: walletId or both walletAddress and blockchain. Only supports SOL, SOL-DEVNET, EVM, and EVM-TESTNET chains.
- **Create a Circle sign delegate action** (Create). Sign a delegate action from a specific developer-controlled wallet in Circle. Returns: signature. Required: delegateAction, plus either walletId or both walletAddress and blockchain. Only available for NEAR and NEAR-TESTNET blockchains.
- **List all Circle w 3 s transactions** (List). List all transactions in Circle Programmable Wallets. Returns transaction details including id, state, transaction type, blockchain, source/destination addresses, and transaction hash. Supports optional filters by blockchain, custody type, destination address, transaction state, transaction hash, transaction type, wallet IDs, reference ID, developer operation, and date range.
- **List all Circle transactions lowest nonce transactions** (List). Get the lowest nonce pending transaction for a wallet in Circle, searching transactions in QUEUED, SENT, or STUCK state. Returns: id, state, nonce, blockchain, walletId, txHash, sourceAddress, destinationAddress. Required: either walletId, or both walletAddress and blockchain. Returns 204 when no matching transaction is found.
- **List all Circle transactions fee parameters** (List). Get the latest blockchain fee parameters from Circle with an optional account type filter. Returns: gasPrice, maxFee, priorityFee. Required: blockchain. Account type defaults to EOA.
- **Circle wallet blockchains bulk update** (Update). Derive or update a developer-controlled wallet on a target EVM blockchain in Circle, using the address of an existing source wallet. If the target wallet already exists, its metadata is updated. Returns: id, createDate, data. Required: wallet_id, blockchain. Only supported for EVM-based blockchains.
- **Get single Circle w 3 s token by ID** (Get). Get details of a specific token in Circle by its unique UUID identifier. Returns the token object including its id. Required: id.
- **List all Circle wallet nfts** (List). List NFTs stored in a Circle developer-controlled wallet by wallet ID. Returns NFT records including token name, token address, and token standard. Required: wallet_id.
- **Create a Circle transactions validate addrese** (Create). Validate a blockchain address in Circle, confirming it is valid for a given token on a specified blockchain. Returns: address, blockchain, token. Required: address, blockchain, token.
- **Create a Circle contract execution estimate fee** (Create). Estimate gas fees for a contract execution transaction in Circle. Returns estimated fee parameters including gasLimit, maxFee, and priorityFee. Required: either walletId or walletAddress with blockchain, plus contractAddress and ABI function parameters.
- **Create a Circle transfer estimate fee** (Create). Estimate gas fees for an on-chain transfer transaction in Circle, given its amount, blockchain, and token. Returns the estimated transaction fee including feeLevel, gasLimit, maxFee, priorityFee, and gasPrice. Required: amount, blockchain, token.
- **Create a Circle transactions contract execution** (Create). Create a challenge for a contract execution transaction from a user-controlled Circle wallet. ABI parameters must be passed in the request. Returns: id. To identify the wallet, provide either walletId or both walletAddress and blockchain in the request body.
- **Create a Circle transactions wallet upgrade** (Create). Create a challenge for a wallet upgrade transaction in Circle. Returns: challengeId. Required: the request body must identify the wallet using either walletId, or both walletAddress and blockchain.
- **Circle developer transactions cancel** (Cancel). Cancel a transaction from a developer-controlled wallet in Circle. This is a best-effort operation — gas fees may still be incurred and it won't be effective if the original transaction has already been processed by the blockchain. Returns the canceled transaction object including its id, state, and txHash. Required: transaction_id.
- **Create a Circle transaction accelerate** (Create). Create a challenge to accelerate a specific transaction from a user-controlled wallet in Circle. Returns: challengeId. Required: transaction_id, idempotencyKey. Additional gas fees may apply.
- **Create a Circle user initialize** (Create). Create a challenge for user initialization with wallet creation in Circle, setting a user's PIN and creating one or more wallets. Returns: challengeId. Required: idempotencyKey. Repeated requests with the same idempotency key return the original challenge instead of executing again.
- **List all Circle w 3 s users** (List). List all users under the entity in Circle. Returns: createDate, updateDate. Supports filtering by pin status, security question status, and date range.
- **Create a Circle w 3 s user** (Create). Create a new user in Circle's user-controlled wallet system. Returns: createDate, updateDate. Required: userId.
- **Get single Circle w 3 s user by ID** (Get). Get a Circle Web3 Services user by id. Returns the user object including userId, status, pinStatus, securityQuestionStatus, and createDate. Required: id.
- **List all Circle user challenges** (List). List all Circle user-controlled wallet challenges, optionally filtered by status. Returns: createDate.
- **Get single Circle user challenge by ID** (Get). Get a single Circle user-controlled wallet challenge by id. Returns: createDate. Required: id.
- **Get single Circle users token by ID** (Get). Create a user token in Circle by generating a user session and SDK encryption key pair for a given user. Returns: userToken, refreshToken, encryptionKey. Required: userId.
- **Create a Circle user pin** (Create). Create a challenge for PIN setup in Circle without creating wallets. Returns: challengeId. Idempotent requests return the existing challenge when the same idempotency key is reused.
- **Circle user pins bulk update** (Update). Create a challenge to update a user's PIN in Circle using the current PIN. Returns the created Pin challenge object including its challengeId. Requires a SetPin request body with the new PIN.
- **Create a Circle pin restore** (Create). Create a PIN restore challenge in Circle using security questions. Returns: challengeId. The request is idempotent — a matching idempotency key returns the existing challenge instead of creating a new one. Required: idempotencyKey.
- **Create a Circle user wallet** (Create). Generate a challenge to create a new user-controlled wallet or a batch of wallets in Circle. Returns: challengeId. Required: idempotencyKey, blockchains. The metadata array, if provided, must match the number of blockchains specified.
- **Circle user transactions cancel** (Cancel). Cancel a transaction from a user-controlled wallet in Circle by generating a challenge for the user to approve. Gas fees may still apply even when the transaction is canceled. Returns: challengeId. Required: transaction_id.
- **Create a Circle social token** (Create). Get a deviceToken to perform social login in Circle's W3S SDK. Returns: deviceToken. Device tokens expire after 10 minutes and only one active token is allowed per deviceId.
- **Create a Circle email token** (Create). Get a deviceToken for email OTP login in Circle. Returns the data object containing the deviceToken. Required: email, deviceId, appId. Tokens expire after 10 minutes; only one active token per deviceId.
- **Create a Circle token refresh** (Create). Refresh a Circle user token using the refreshToken obtained from SDK login. Returns: userToken. Required: refreshToken.
- **Create a Circle email resend otp** (Create). Resend an OTP email to a Circle W3S user when the original OTP email was not received. The prior OTP email expires after the new one is sent. Returns a confirmation that the OTP email was successfully resent.
- **List all Circle buidl transfers** (List). List Circle BUIDL transfers for the specified wallet addresses, optionally filtered by blockchain, state, transfer type, transaction hash, or user operation hash. Returns: id, createDate. Required: walletAddresses.
- **Get single Circle buidl transfer by ID** (Get). Retrieve an existing buidl transfer in Circle by its id. Returns the transfer object including id, userOpHash, txHash, state, transferType, blockchain, and createDate. Required: id.
- **List all Circle buidl user ops** (List). List user operations in Circle, filterable by blockchain, state, txHash, userOpHash, refId, and senders. Returns: id, createDate, updateDate.
- **Get single Circle buidl user op by ID** (Get). Get a single user operation in Circle by id. Returns: id, createDate, updateDate. Required: id.
- **List all Circle balances** (List). List expected token balances for a specified remote domain in Circle xReserve. Returns: data. Required: remote_domain. Optional filters: standard, name, tokenAddress.
- **Get single Circle balance by ID** (Get). Get token balances for specified addresses in Circle xReserve. Returns the current available balance for each address across the different domains where that address is valid, with the exact response field shape defined by the upstream BalancesResponse schema. Required: a request body specifying the addresses to query.
- **List all Circle nfts** (List). List NFTs held by a Circle wallet by blockchain and address in Circle. Returns: nftTokenId, tokenAddress, name, standard. Required: blockchain, address.
- **Create a Circle screening address** (Create). Screen a blockchain address in Circle by creating a compliance screening request for a specific address and chain. Returns: id. Required: address, chain.
- **Create a Circle deploy estimate fee** (Create). Estimate the fee required to deploy a contract from a template in Circle. Returns a fee estimation with estimated transaction fee values. Required: template_id.
- **Create a Circle template deploy** (Create). Deploy a smart contract from a template in Circle. Returns the template contract deployment object with deployment status and contract details. Supports idempotent requests — 201 for a new deployment, 200 if the contract was already created in a previous request. Required: template_id.
- **List all Circle w 3 s contracts** (List). List contracts in Circle that you've imported and/or deployed. Returns: id, name, description. Filterable by blockchain, contractInputType, deployerAddress, name, and status.
- **Get single Circle w 3 s contract by ID** (Get). Get a single contract in Circle by id (UUID). Retrieved using the contract ID, not the on-chain address. Returns: id, description, createDate. Required: id.
- **Update a Circle w 3 s contract by ID** (Update). Update the off-chain properties, such as description, of a contract in Circle by id (UUID). Returns: id, description, createDate. Required: id. An empty update body is not allowed.
- **Create a Circle contracts query** (Create). Execute a read-only query function on a smart contract in Circle. Query the state of a contract by providing its address and blockchain. Returns the contract state read result. Required: address, blockchain.
- **Create a Circle contracts import** (Create). Import an existing on-chain smart contract into your Circle contract library. Returns the imported contract including its id, address, blockchain, and status. The request is idempotent — a repeated call with the same idempotency key returns the original response (HTTP 200) instead of creating a duplicate. Required: idempotencyKey, address, blockchain.
- **Create a Circle contracts deploy** (Create). Deploy a smart contract on a specified blockchain in Circle using the contract's ABI and bytecode, deployed from one of your Circle Wallets. Returns: id, blockchain, status. Required: idempotencyKey (UUID v4), walletId, blockchain, bytecode.
- **List all Circle contracts monitors** (List). List Circle event monitors, optionally filtered by blockchain, contract address, and event signature. Returns: id.
- **Create a Circle contracts monitor** (Create). Create a new Circle event monitor for a given blockchain, contract address, and event signature. Returns: id. Required: blockchain, contractAddress, eventSignature.
- **Update a Circle contracts monitor by ID** (Update). Update an existing Circle event monitor by id. Returns: id, createDate. Required: id, blockchain, contractAddress, eventSignature.
- **Delete a Circle contracts monitor by ID** (Delete). Delete a Circle event monitor by id. Returns an empty response on success. Required: id.
- **List all Circle contracts events** (List). List Circle contract event logs, optionally filtered by blockchain and contract address. Returns: id.
- **List all Circle attestations** (List). Get a signed attestation for a USDC burn event on the source chain in Circle. Returns: attestation, status. Required: message_hash.
- **List all Circle public keys** (List). List the currently active attestation public keys in Circle. Returns: data.
- **List all Circle messages** (List). List CCTP V1 messages and attestation details for a source domain and transaction hash in Circle. Returns: attestation, message, eventNonce. Required: source_domain_id, transaction_hash.
- **Get single Circle message by ID** (Get). Get CCTP V2 messages and attestations for a source domain in Circle by transaction hash or nonce. Returns the messages array (each with message, eventNonce, attestation, decodedMessage, cctpVersion, status, forwardState, forwardTxHash) and sourceTxHash. Required: id.
- **Create a Circle reattest** (Create). Re-attest a pre-finality message in Circle to obtain a higher level of finality than originally requested on the source chain. Returns: message, nonce. Required: nonce.
- **List all Circle usdc allowances** (List). Retrieve the available USDC Fast Transfer allowance remaining in Circle. Returns: allowance, lastUpdated. The source documents only these two fields in the USDCFastBurnAllowanceResponseV2 schema.
- **List all Circle usdc fees** (List). Get USDC transfer fees in Circle for a transfer between the specified source and destination domains. Returns the applicable fee in basis points (1 = 0.01%). Required: source_domain_id, dest_domain_id.
- **Create a Circle burn usdc** (Create). Create a signed, time-bound fee quote for a native USDC transfer between two blockchains in Circle. The quote prices the upfront fees a caller must pay and includes a signedQuote blob that the TokenMessengerWithFees contract verifies onchain. Returns: signedQuote. Required: source_domain_id, dest_domain_id, amount, feeToken, requests. The destination domain must differ from the source domain;…
- **Create a Circle estimate** (Create). Estimate fees and expiration block heights for a transfer in Circle without requiring signatures or executing the transaction. Returns the estimated fees and expiration block heights as defined by the upstream EstimateResponse schema. Accepts an EstimateRequest request body with optional maxAttestationSize and enableForwarder query parameters.
- **List all Circle info** (List). Get Circle Gateway info for supported domains and tokens. Returns details of the supported domains and tokens along with general API information. No required parameters.
- **Create a Circle transfer** (Create). Create a transfer attestation in Circle for transferring tokens between domains, generating a transfer attestation and operator signature. Returns: id. A request body with transfer attestation details is required.
- **Get single Circle transfer by ID** (Get). Get a single transfer by id in Circle, returning detailed transfer information including attestation and operator signature data. Returns: id. Required: id.
- **List all Circle transfer specs** (List). Get the full TransferSpec in Circle by its keccak256 hash. Returns the complete TransferSpec information object for the specified transfer spec hash. Required: transfer_spec_hash.
- **Get single Circle deposit by ID** (Get). Get pending deposits for specified blockchain depositor addresses in Circle. Returns a data array of pending deposit records, each with id, amount, status, source, destination, and createDate. Required: addresses.
- **Create a Circle batch submit** (Create). Submit an EIP-3009 single-chain transfer authorization to Circle for batch processing. The authorization is verified, the sender's balance locked, and the transaction queued. Returns: id. Required: request body containing the EIP-3009 transfer authorization. A 409 response is returned if the nonce has already been used.
- **Create a Circle x 402 settle** (Create). Settle an x402 payment in Circle by submitting the EIP-3009 authorization. The authorization is verified, the sender's balance is locked, and the transaction is queued for batch processing. Returns: success, errorReason, payer, transaction, network. Required: paymentPayload, paymentRequirements.
- **List all Circle x 402 supporteds** (List). List the x402 payment kinds supported by Circle Gateway for batching. Returns: kinds, extensions, signers.
- **Get single Circle x 402 transfer by ID** (Get). Get a single Circle x402 transfer by id. Returns: id, createDate. Required: id.
- **List all Circle x 402 transfers** (List). List Circle x402 transfers with filters by sender, recipient, network, status, token, nonce, and date range. Returns: id. Beginning August 17, 2026, the status filter requires at least one of from, to, or nonce.
- **Create a Circle x 402 verify** (Create). Verify an x402 payment payload in Circle by running read-only validation checks (scheme, network, token, signature, temporal constraints, address/amount matching). Returns: isValid, invalidReason, payer. Required: paymentPayload, paymentRequirements. A valid result does not guarantee settlement — balance and nonce checks only happen at settle time.
- **List all Circle subscriptions permissionleses** (List). List all permissionless webhook subscriptions in Circle. Returns: id, name, endpoint, environment, enabled, addresses, domains, notificationTypes, createDate, updateDate. Filter results by environment using the optional environment query parameter.
- **Create a Circle subscriptions permissionlese** (Create). Create a permissionless webhook subscription in Circle to receive Gateway event notifications. Returns: id, name, endpoint, environment, enabled, addresses, domains, notificationTypes, createDate, updateDate. Required: environment, endpoint, addresses, domains, notificationTypes.
- **Get single Circle subscriptions permissionlese by ID** (Get). Get a single permissionless webhook subscription in Circle by id. Returns: id, createDate. Required: id.
- **Update a Circle subscriptions permissionlese by ID** (Update). Update a permissionless webhook subscription in Circle. Metadata fields (name, endpoint, enabled) can be updated independently; filter fields (notificationTypes, addresses, domains) must be provided together and fully replace existing filters. Returns: id, createDate. Required: id.
- **Delete a Circle subscriptions permissionlese by ID** (Delete). Delete a permissionless webhook subscription in Circle by id. Returns an empty 204 response on success. Required: id.
- **Create a Circle permissionless test connection** (Create). Test the connection to a Circle permissionless webhook subscription's subscriber endpoint, verifying that it is reachable. Returns: data. Required: permissionles_id.
- **Create a Circle permissionless test** (Create). Send a test notification (notificationType "webhooks.test") to the subscriber endpoint of a permissionless webhook subscription in Circle. Returns an empty 204 response on success. Required: permissionles_id.
- **Create a Circle stablefx quote** (Create). Create a StableFX quote for a trade between two currencies in Circle. Returns: id, type. Required: from, to, type. Provide an amount on either `from` or `to`, but not both; use type `tradable` for an executable quote (includes presign typedData) or `reference` for an indicative quote.
- **List all Circle stablefx trades** (List). List all StableFX trades in Circle, newest first by default. Returns each trade with id, from, to, status, createDate, updateDate, quoteId, settlementId, rate, and expectedBatchTime. Required: type.
- **Create a Circle stablefx trade** (Create). Create a StableFX trade in Circle by accepting a quote. Returns the created trade including id, from, to, status, createDate, updateDate, quoteId, settlementId, rate, and expectedBatchTime. Required: quoteId.
- **Get single Circle stablefx trade by ID** (Get). Get a single StableFX trade by id in Circle. Returns the trade detail including id, from, to, status, createDate, updateDate, quoteId, settlementId, rate, and expectedBatchTime. Required: id, type.
- **Create a Circle stablefx signature** (Create). Register a trade signature in Circle by submitting a signed EIP-712 payload from the trader that confirms trade intent. Returns the registered trade signature response object.
- **Get single Circle stablefx fee by ID** (Get). Get the fee associated with a specific StableFX trade in Circle by trade ID. Returns: id, createDate. Required: id (the trade ID).
- **Get single Circle signatures presign by ID** (Get). Generate trade presign data for a StableFX trade in Circle. Returns the EIP-712 Permit2 payload as typedData that the maker must sign to authorize the trade. Required: id, recipientAddress.
- **Create a Circle funding presign** (Create). Generate funding presign data for Circle StableFX trades, returning the Permit2 EIP-712 typed-data payload for the trader to sign. In delegate mode the response also includes a funder typed-data payload. Returns: typedData (the Permit2 EIP-712 typed data for the trader to sign), funderTypedData (the funder's typed data payload, present in delegate mode). Required: fundingMode. When fundingMode is…
- **Create a Circle stablefx fund** (Create). Execute funding for StableFX trades in Circle by relaying signed Permit2 permit data to complete the funding operation. When fundingMode is delegate, the request must include the trader's permit2 and signature along with the funder's funderPermit2 and funderSignature. Returns a 200 success response with no documented body content.
- **List all Circle settlement advances credits** (List). Get the maker's settlement-advance credit line in Circle. Returns the credit line including total limit, current usage, available headroom per currency, and the fee schedule with recurring, draw, and reservation fees.
- **Create a Circle settlement advances reserve** (Create). Reserve settlement advance credit in Circle to hold credit and lock in a fee snapshot before requesting a settlement advance. Returns the reservation object including id, amount, status, expiresAt, and createDate. Required: idempotencyKey, amount. Reservations expire after ~15 minutes and only one active reservation is allowed per currency.
- **List all Circle settlement advances reservations** (List). List settlement advance reservations in Circle, optionally filtered by status and currency. Results are ordered newest first. Returns: id. Max 100 per page.
- **Get single Circle settlement advances reservation by ID** (Get). Get a single settlement advance reservation in Circle by id. Returns: id, createDate. Required: id.
- **Circle settlement advances reservations cancel** (Cancel). Cancel an active settlement advance reservation in Circle, releasing held credit back to the line. Only reservations in active status can be canceled. Returns: id. Required: reservation_id.
- **Create a Circle settlement advances presign** (Create). Generate Permit2 typed-data for signing a settlement advance in Circle StableFX. Returns typed-data the maker signs to authorize delegate funding of their side of a trade, using a zero-amount DelegateFundingAuthorization witness so no tokens transfer from the maker. Requires a request body. Stateless with no persistence or side effects.
- **List all Circle stablefx settlement advances** (List). List settlement advances in Circle with their lifecycle status, filterable by status and creation date range. Returns: id. Max 100 per page.
- **Create a Circle stablefx settlement advance** (Create). Request a settlement advance in Circle by submitting a Permit2 signature and witness payload for a trade. Returns: id. Required: tradeId. Funding runs asynchronously; idempotent on tradeId.
- **Get single Circle stablefx settlement advance by ID** (Get). Get a single settlement advance by id in Circle, including its lifecycle status, advance and collateral amounts, fee information, and repayments applied. Returns: id, status, createDate. Required: id.
- **Create a Circle settlement advances repayment** (Create). Record a repayment against the credit line backing a settlement advance in Circle. Returns: id. Required: idempotencyKey, amount. For USDC and EURC, round the amount up to 2 decimal places; other stablecoins are not subject to rounding. Idempotent on idempotencyKey — replays with the same key and amount are no-ops.
- **Get single Circle settlement advances repayment by ID** (Get). Get a settlement advance repayment in Circle by id. Returns: id, createDate. Required: id.
- **List all Circle remote domain attestations** (List). List attestations for crosschain transfers in Circle, filtered by remote domain. Returns: data. Required: remote_domain.
- **Create a Circle prepare withdrawal** (Create). Prepare a withdrawal in Circle xReserve by converting remote-chain burn transaction data into fully encoded burn intents for the /withdraw endpoint. Returns: maxBlockHeight, maxFee. The /withdraw endpoint requires signatures and the remote chain burnTxId in addition to the prepared burn intent.
- **Create a Circle withdraw** (Create). Submit signed burn intents for withdrawal in Circle. Submits up to five signed burn intent batches per request call, with each batch containing one or up to 10 burn intents. Returns: withdrawalId, burnTxId, success. Required: burnTxId and signatures in the request body. At most 5 batches per call; a 409 Conflict is returned if the burnTxId is already associated with an active withdrawal.
- **Get single Circle withdrawal by ID** (Get). Get the status and transfer details of a specified withdrawal group in Circle. Returns: id, status, createDate, data. Required: id.
- **List all Circle partner clients** (List). List partner clients in Circle, newest first. Returns each client's clientEntityId, created, clientName, country, clientType, businessDetails, status, and balances (status and balances are Circle-enriched and may be omitted). Max 100 per page.
- **Create a Circle partner client** (Create). Create a partner client in Circle and initialize an onboarding application in a single request. Returns: clientEntityId, applicationId, created, clientName, country, clientType, businessDetails, status, balances. Required: clientName, country. A duplicate clientName and country combination returns 409 Conflict.
- **Get single Circle partner client by ID** (Get). Get a single partner client in Circle by id. Returns: clientEntityId, created, clientName, country, clientType, businessDetails, status, balances (status and balances are Circle-enriched and may be omitted). Required: id.
- **List all Circle business account balances** (List). List available and unsettled fund balances for a Circle business account. Returns the data object containing available and unsettled balance arrays, each entry with amount and currency. Optionally filter by walletId.
- **List all Circle business account payouts** (List). List all payouts for your Circle business account, with optional filters by destination bank account type, status, and source wallet. Returns: id, sourceWalletId, destination, amount, toAmount, fees, status, errorCode, riskEvaluation, adjustments, return, createDate, updateDate. This endpoint does not return the tracking reference number for payouts; retrieve each payout individually by ID for…
- **Create a Circle business account payout** (Create). Create a redemption (offramp) payout in Circle that converts a digital asset to fiat currency. Returns: data.
- **Get single Circle business account payout by ID** (Get). Get a single business account payout in Circle by id. Returns the full payout object including id, sourceWalletId, destination, amount, fees, status, trackingRef, riskEvaluation, adjustments, return, createDate, and updateDate. Required: id.
- **List all Circle banks wires** (List). List all wire bank accounts in Circle. Returns: id, type, status, description, trackingRef, fingerprint, billingDetails, bankAddress, virtualAccountEnabled, ffcMemo, policyEvaluation, createDate, updateDate, transferTypesInfo.
- **Create a Circle banks wire** (Create). Create a new wire bank account in Circle for wire transfers. Returns the created wire account including id, type, status, trackingRef, transferTypesInfo, billingDetails, bankAddress, createDate, and updateDate. Required: billingDetails, bankAddress.
- **Get single Circle banks wire by ID** (Get). Get a specific wire bank account in Circle by id. Returns: data. Required: id.
- **List all Circle wire instructions** (List). Get wire transfer instructions for a Circle bank account. Returns: data. Required: wire_id.
- **Create a Circle payments wire** (Create). Create a mock wire payment in the Circle sandbox that simulates funds sent through the bank (wire) account linked to the master wallet. Returns the mock wire payment object including trackingRef, amount, beneficiaryBank, and status. Required: amount, beneficiaryBank.
- **List all Circle banks cubixes** (List). List all CUBIX bank accounts in Circle. Returns: id, status, trackingRef, accountId, transferTypesInfo, policyEvaluation, createDate, updateDate.
- **Create a Circle banks cubix** (Create). Create a new CUBIX bank account in Circle for CUBIX transfers. Returns: id, status, trackingRef, accountId, transferTypesInfo, policyEvaluation, createDate, updateDate.
- **Get single Circle banks cubix by ID** (Get). Get a single CUBIX bank account in Circle by id. Returns: id, status, trackingRef, accountId, transferTypesInfo, policyEvaluation, createDate, updateDate. Required: id.
- **List all Circle instructions** (List). Get ACH deposit instructions for a specific Circle bank account. Returns the instructions data object including trackingRef and accountId. Required: ach_id.
- **List all Circle business account transfers** (List). List all transfers from your Circle business account, ordered by most recent when date filters are omitted. Returns: id, source, destination, amount, fees, transactionHash, status, errorCode, policyEvaluation, createDate, customerExternalRef. Max 50 per page.
- **Create a Circle business account transfer** (Create). Create a transfer from a Circle business account to a blockchain destination. When amount.currency is CIRBTC, the recipient's chain (looked up from destination.addressId) determines whether an onchain cirBTC transfer or a native Bitcoin redemption is performed. Returns the created transfer including id, source, destination, amount, status, createDate, and transactionHash. Required: source,…
- **Get single Circle business account transfer by ID** (Get). Get a single Circle business account transfer by id. Returns: id, source, destination, amount, fees, transactionHash, status, errorCode, policyEvaluation, createDate, customerExternalRef. Required: id.
- **List all Circle business account associated accounts** (List). List sibling Circle accounts (CMAs) associated with the current account under unified credentials, usable as destinations for cross-entity transfers. Returns: entityId, nickname.
- **List all Circle addresses deposits** (List). List all Circle account deposit addresses, optionally filtered by account, blockchain, currency, or wallet. Returns: address, addressTag, currency, chain, id, accountId, walletId.
- **Create a Circle addresses deposit** (Create). Create a new Circle deposit address for a given currency/chain pair. Circle may reuse addresses on blockchains that support reuse. Returns: data. Required: currency, chain.
- **Get single Circle addresses deposit by ID** (Get). Get a single Circle account deposit address by id. Returns: data. Required: id.
- **List all Circle addresses recipients** (List). List all verified recipient addresses in Circle that are eligible for transfers. Returns: id, address, addressTag, chain, currency, description, status. Addresses pending administrator verification are excluded from the response.
- **Create a Circle addresses recipient** (Create). Create a recipient address in Circle to store an external blockchain address for transfers. Returns: data. Required: address, chain. The recipient address must be verified after creation before it can be used for transfers.
- **Delete a Circle addresses recipient by ID** (Delete). Delete a recipient address in Circle by id. The recipient address must be in an 'active' or 'pending' state to be deleted successfully. Returns an empty 200 response on success. Required: id.
- **Get single Circle addresses recipient by ID** (Get). Get a specific recipient address in Circle by id. Returns: data. Required: id.
- **List all Circle business account deposits** (List). List deposits sent to your Circle business account in descending chronological order. Returns: id, sourceWalletId, destination, amount, fee, status, riskEvaluation, customerExternalRef, createDate, updateDate, source, fromAmount, fees, externalRef, trackingRef. Returns up to 50 deposits per page.
- **Get single Circle business account deposit by ID** (Get). Get a single Circle business account deposit by id. Returns: id, sourceWalletId, destination, amount, fee, status, riskEvaluation, customerExternalRef, createDate, updateDate, source, fromAmount, fees, externalRef, trackingRef. Required: id.
- **List all Circle banks pixes** (List). List all PIX bank accounts in Circle. Returns: id, status, description, trackingRef, transferTypesInfo, riskEvaluation, policyEvaluation, fingerprint, createDate, updateDate.
- **Create a Circle banks pix** (Create). Create a PIX bank account in Circle for BRL transfers. Returns: id, status, description, trackingRef, transferTypesInfo, riskEvaluation, policyEvaluation, fingerprint, createDate, updateDate.
- **Get single Circle banks pix by ID** (Get). Get a single PIX bank account in Circle by id. Returns: id, status, description, trackingRef, transferTypesInfo, riskEvaluation, policyEvaluation, fingerprint, createDate, updateDate. Required: id.
- **List all Circle wire routing infos** (List). List wire routing information for a Circle fiat account, including available settlement banks and current routing configuration for both inbound and outbound wires. Returns: currency, inbound, outbound. Required: fiat_account_id.
- **Circle wire routing preferences bulk update** (Update). Update wire routing preferences for a Circle wire fiat account, creating or updating the settlement bank routing configuration. Returns: currency, inbound, outbound. Required: fiat_account_id, and at least one of inboundBankLabel or outboundBankLabel in the request body. Rejects updates if the account has active Express routes configured.
- **List all Circle routing infos** (List). List PIX routing information for a Circle fiat account, including available settlement banks and current routing configuration for inbound and outbound transfers. Returns: data. Required: fiat_account_id.
- **Circle routing preferences bulk update** (Update). Update PIX settlement bank routing preferences for a Circle fiat account in Circle. At least one of inboundBankLabel or outboundBankLabel must be provided; the endpoint rejects updates when the account has active Express routes configured. Returns: currency, inbound, outbound. Required: fiat_account_id.
- **List all Circle redemption daily reports** (List). List burn fee calculations in Circle, including daily records and surcharges. Returns: id, fee, cumulatedPayoutAmount, cumulatedPaymentAmount, cumulatedNetAmount, valueDate, status, thresholdResetTimestamp, createDate, updateDate, feeType, redemptionMode, aggregationLevel, billingPeriodStart, billingPeriodEnd. Returns up to 50 calculations in descending chronological order.
- **List all Circle reports** (List). List previously generated reports in Circle for a given report type and date range. Returns: id, reportType, timeframe, reportDate, downloadUrl, expiresAt. Required: reportType, startDate, endDate. The `id` returned is a storage object key, not a report UUID — download listed reports via their `downloadUrl`. The non-managed `camt053` type is not supported here.
- **Create a Circle report** (Create). Request a report in Circle by specifying a report type and date. Returns: id, reportType, status, downloadUrl, expiresAt. When the report is not yet ready, status is `pending` (HTTP 202) and downloadUrl is omitted. Requests are idempotent — retries return the existing report. Required: reportType, date.
- **Get single Circle report by ID** (Get). Get metadata for a single Circle report by id, including a fresh pre-signed downloadUrl when the report is ready. Returns: id, reportType, status, downloadUrl, expiresAt. Use this to poll a pending report or to refresh an expired download URL. Required: id.
- **List all Circle contents** (List). Download the raw report content from Circle as a binary file stream. Returns an opaque binary file download whose content varies by report type (e.g., application/xml). Required: report_id. Returns 409 if the report is not yet ready.
- **List all Circle configurations** (List). Get general Circle account configuration information. Returns: payments. No additional fields are documented in the source for this endpoint.
- **List all Circle stablecoins** (List). List all supported stablecoins in Circle with total circulating supply broken down across all chains. Returns: name, symbol, totalAmount, chains. Rate limited to one call per minute based on IP.
- **List all Circle external entities** (List). List all external entities for the institutional account in Circle. Returns: walletId, businessName, businessUniqueIdentifier, identifierIssuingCountryCode, complianceState. The businessUniqueIdentifier and identifierIssuingCountryCode query parameters are an all-or-nothing pair — supplying only one results in an error.
- **Create a Circle external entity** (Create). Create an external entity for the institutional account in Circle. Returns the created entity including walletId, businessName, businessUniqueIdentifier, identifierIssuingCountryCode, and complianceState. Required: businessName, businessUniqueIdentifier, identifierIssuingCountryCode. A 409 conflict is returned if an entity with the same businessUniqueIdentifier and identifierIssuingCountryCode…
- **Get single Circle external entity by ID** (Get). Get a single external entity by wallet ID in Circle. Returns: walletId, businessName, businessUniqueIdentifier, identifierIssuingCountryCode, complianceState. Required: id.
- **List all Circle payments** (List). List all Circle payments including fiat payments, crypto payments, cancels, and refunds. Returns: id, type, status, amount, fromAmount, fees, networkFees, merchantId, merchantWalletId, source, description, captured, captureAmount, captureDate, requiredAction, cancel, refunds, channel, paymentIntentId, settlementAmount, fromAddresses, depositAddress, transactionHash, originalPayment, reason,…
- **Get single Circle payment by ID** (Get). Get a single Circle payment by id, which may be a fiat payment, crypto payment, cancel, or refund. Returns: id, type, createDate, data. Required: id.
- **List all Circle payment intents** (List). List all payment intents in Circle. Returns each intent with id, amount, currency, amountPaid, settlementCurrency, paymentMethods, paymentIds, customerWalletId, timeline, type, createDate, and updateDate. Supports filtering by status and context.
- **Create a Circle payment intent** (Create). Create a continuous (default) or transient payment intent in Circle. Returns the created intent with id, amount, amountPaid, settlementCurrency, paymentMethods, timeline, purposeOfTransfer, expiresOn, customerWalletId, customerExternalRef, type, createDate, and updateDate. Required: idempotencyKey, paymentMethods. Set type to 'transient' for a transient intent; purposeOfTransfer is conditionally…
- **Get single Circle payment intent by ID** (Get). Get a single Circle payment intent by id. Returns: id, amount, currency, amountPaid, settlementCurrency, paymentMethods, paymentIds, customerWalletId, timeline, type, createDate, updateDate. Required: id.
- **Create a Circle expire** (Create). Expire a payment intent in Circle. Returns the expired payment intent object including id, amount, amountPaid, settlementCurrency, paymentMethods, timeline, createDate, and updateDate. Required: paymentintent_id.
- **Create a Circle refund** (Create). Create a crypto refund for a Circle payment intent. Returns the refund object including its id, type, status, settlementAmount, fromAddresses, depositAddress, paymentId, createDate, and updateDate. Required: paymentintent_id.
- **List all Circle payments customers** (List). List crypto payment customers in Circle for eligible Circle Singapore merchants. Returns: id, refId, type, status. List responses omit customer PII.
- **Create a Circle payments customer** (Create). Create a Travel Rule customer profile for crypto payment attribution in Circle. Returns the created customer including id, refId, type, status, firstName, lastName, dateOfBirth, placeOfBirth, governmentIssuedId, and address. The customer starts in pending status while screening completes. Required: type.
- **Get single Circle payments customer by ID** (Get). Get a single crypto payment customer by id in Circle, including full customer PII details. Returns: id, refId, type, status, firstName, lastName, dateOfBirth, placeOfBirth, governmentIssuedId, address. Required: id.
- **List all Circle customer wallets** (List). List crypto payment customer wallets for a Circle customer. Returns: id, customerId, chain, type, vaspId. Required: customer_id.
- **Create a Circle customer wallet** (Create). Create a hosted crypto payment customer wallet for an approved Travel Rule customer in Circle. The resulting wallet ID can be supplied as customerWalletId when creating a transient payment intent. Returns: id, customerId, chain, type, vaspId. Required: customer_id. The customer must be approved; available to eligible Circle Singapore (CIRCLE_SG) merchants.
- **Get single Circle customer wallet by ID** (Get). Get a single crypto payment customer wallet by id in Circle. Returns: id, customerId, chain, type, vaspId. Required: customer_id, id.
- **Create a Circle payments refund address** (Create). Create a crypto payment refund address-book entry in Circle for refunding a crypto payment intent (Circle Singapore refund flow 2). Returns the created refund address including id, chain, address, status, ownership, and createDate. Required: paymentId, chain, address, ownership. Do not provide identity — it is derived from the original payment's Travel Rule originator PII.
- **List all Circle payouts** (List). List all Circle payouts, optionally filtered by source wallet, destination, destination type, status, source currency, or destination currency. Returns: id, sourceWalletId, destination, amount, toAmount, fees, networkFees, customerExternalRef, status, errorCode, riskEvaluation, externalRef, createDate, updateDate. The address_book destination type cannot be combined with other destination types.
- **Create a Circle payout** (Create). Create a stablecoin payout in Circle. Returns: id, sourceWalletId, destination, amount, toAmount, fees, networkFees, purposeOfTransfer, customerExternalRef, status, errorCode, riskEvaluation, createDate, updateDate. Required: sourceWalletId, destination, amount. For CIRCLE_SG entities, purposeOfTransfer is also required and must use a valid payment reason code. Supported currency pairs for…
- **Get single Circle payout by ID** (Get). Get a single Circle payout by id. Returns the payout object including id, sourceWalletId, destination, amount, toAmount, fees, networkFees, status, errorCode, riskEvaluation, externalRef, createDate, and updateDate. Required: id.
- **List all Circle address book recipients** (List). List all address book recipients in Circle, with optional filters by address, chain, email, status, custody type, and VASP ID. Returns: id, chain, address, addressTag, metadata, status, identity, ownership, createDate, updateDate.
- **Create a Circle address book recipient** (Create). Create a new address book recipient in Circle. SG customers must additionally provide identity and ownership (metadata.email and beneficiary PII required for self-hosted entries). Returns: id, identity, ownership. Required: chain, address.
- **Get single Circle address book recipient by ID** (Get). Get a single address book recipient by id in Circle. Returns: id, chain, address, addressTag, metadata, status, identity, ownership, createDate, updateDate. Required: id.
- **Update a Circle address book recipient by ID** (Update). Update an address book recipient's metadata in Circle. Only metadata fields are accepted; identity and ownership are not allowed in PATCH requests. Returns: id, chain, address, metadata, status, createDate, updateDate. Required: id.
- **Delete a Circle address book recipient by ID** (Delete). Delete an address book recipient by id in Circle. Returns an empty 204 response on success. Required: id.
- **Create a Circle verification cancel** (Create). Cancel the pending verification session for a self-hosted wallet address book recipient in Circle. Returns an empty 200 response on success. Required: recipient_id. Only available for Singapore (CIRCLE_SG) entities; the recipient must have self-hosted custody type and be in pending_verification status. Returns 400 if the session is not cancelable (already canceled, expired, or verification…
- **Create a Circle verification resend** (Create). Resend a verification email for a self-hosted wallet address book recipient in Circle. Returns an empty 200 response on success. Required: recipient_id. Only available for Singapore (CIRCLE_SG) entities; the recipient must have self-hosted custody type and be in pending_verification status.
- **List all Circle address book vasps** (List). List active Virtual Asset Service Providers (VASPs) available for the customer's jurisdiction in Circle. Returns: id, name. Use returned id values as vaspId in ownership.custody when creating a recipient with hosted custody. Supported only for Circle Singapore (SG) customers.
- **Get single Circle exchange quote by ID** (Get). Get an indicative exchange rate quote between two currencies in Circle. Returns: id, rate, from, to, expiry, type, estimatedSettlementTime. Required: from, to. Either the from or to currency must be USD.
- **List all Circle exchange trades** (List). List all cross-currency FX trades in Circle. Returns: id, from, to, status, createDate, updateDate, quoteId, settlementId, rate, expectedBatchTime. An optional settlementId query parameter filters results to a specific settlement.
- **Create a Circle exchange trade** (Create). Create a cross-currency FX trade in Circle from a previously fetched quote. Returns: id, from, to, status, createDate, updateDate, quoteId. Required: quoteId.
- **Get single Circle exchange trade by ID** (Get). Get a single FX trade by id in Circle. Returns: id, from, to, status, createDate, updateDate, quoteId, settlementId, rate, expectedBatchTime. Required: id.
- **List all Circle trades settlements** (List). List all Circle exchange trade settlements, optionally filtered by type, status, or currency. Returns each settlement's id, entityId, status, createDate, updateDate, and a details array containing line items with their own amount, reference, and status.
- **Get single Circle trades settlement by ID** (Get). Get a single Circle exchange trade settlement by id. Returns: id, entityId, status, createDate, updateDate, details. Required: id.
- **List all Circle settlements instructions** (List). Get settlement instructions for a specific currency in Circle. Returns the settlement instructions data object including currency, fiatAccountType, and instruction with trackingRef, beneficiary, and beneficiaryBank details. Required: currency.
- **Circle fx configs accounts bulk update** (Update). Create a currency trading (FX) account in Circle. Returns: currency, fiatAccountId, createDate, updateDate. Required: currency.
- **List all Circle fx configs daily limits** (List). Get daily currency exchange limits and usages in Circle. Returns: data.dailyLimits, a map keyed by currency code (e.g. EURC, MXN, USDC, BRL) where each entry includes limit, usage, and available amounts. No required parameters.
- **Create a Circle payments pix** (Create). Create a mock PIX payment in the Circle sandbox environment that simulates funds sent through the bank account linked to the main wallet. Returns: trackingRef, amount, beneficiaryAccountNumber, status. Required: amount, beneficiaryAccountNumber.
- **Create a Circle reserve management daily custody balance** (Create). Create a daily custody balance report for USDC or EURC in Circle. Returns: idempotencyKey, id, createDate, localBalance, currency, asOfDate, reportType, additionalFields. Required: idempotencyKey, currency, asOfDate, localBalance, reportType, additionalFields. Only one submission per day per currency; USDC and EURC require separate submissions.
- **List all Circle credits** (List). Get credit line details from Circle, including status, available limit, and outstanding balance. Returns the data object with id, product, status, limit, used, available, outstandingTransfers, feeRates, unpaidFees, minBalance, feeCadence, validationErrors, createDate, updateDate.
- **Get single Circle credit repayment account by ID** (Get). Get repayment account details and wire instructions for a credit repayment in Circle. Returns: id, description, status, wireInstructions. Required: id.
- **List all Circle credit transfers** (List). List all credit transfers in Circle, filterable by status and create date range. Returns: id, amount, status, dueDate, disbursedDate, paidDate, createDate, updateDate. List items exclude outstanding and fees properties.
- **Create a Circle credit transfer** (Create). Create a credit transfer (drawdown) from the credit line in Circle. Disbursement is asynchronous. Returns: id, amount, status, blockchainDestination, createDate, updateDate. Required: idempotencyKey, amount. Only available for Line of Credit products.
- **Get single Circle credit transfer by ID** (Get). Get a single credit transfer in Circle by id. Returns: id, createDate, data. Required: id. Outstanding, fees, dueDate, and disbursedDate appear only once the transfer reaches disbursed, paid, or past_due status.
- **Create a Circle transfers reserve fund** (Create). Reserve funds for a Settlement Advance credit transfer draw in Circle. Returns the credit transfer with id, amount, status, expiresAt, createDate, and updateDate. Required: idempotencyKey, amount. Reserved funds expire after 30 minutes; only one funds_reserved transfer is allowed per credit line at a time. Only available for Settlement Advance products.
- **Circle transfer request reserved funds bulk update** (Update). Request reserved funds for a Settlement Advance credit transfer in Circle, transitioning a funds_reserved transfer to requested status by uploading wire proof evidence. Returns: id, amount, status, outstanding, fees, dueDate, disbursedDate, paidDate, expiresAt, blockchainDestination, createDate, updateDate. Required: transfer_id, fileName, fileContent. Only available for Settlement Advance…
- **Circle transfer cancel reserves bulk update** (Cancel). Cancel reserved funds for a Settlement Advance credit transfer in Circle, releasing the reserved amount back to available credit. Returns: id, amount, status, createDate, updateDate. Required: transfer_id. The transfer must be in funds_reserved status; this endpoint is only available for Settlement Advance products.
- **List all Circle credit fees** (List). List all credit fees in Circle, returning a paginated history of fees charged on the credit line. Returns: id, transferId, amount, status, accruedDate, createDate, updateDate. Filterable by create date range, currency, status, and transfer ID.
- **Get single Circle credit fee by ID** (Get). Get a single credit fee in Circle by id. Returns: id, transferId, amount, status, accruedDate, createDate, updateDate. Required: id.
- **List all Circle credit repayments** (List). List all credit repayments in Circle, including both fiat and crypto types. Returns: id, transferId, repaymentAccountId, amountApplied, paymentAmount, type, status, settlementDate, createDate, updateDate. Filterable by transfer ID, type, status, and create date range.
- **Get single Circle credit repayment by ID** (Get). Get a single credit repayment by id in Circle. Returns: id, transferId, repaymentAccountId, amountApplied, paymentAmount, type, status, settlementDate, createDate, updateDate. Required: id.
- **Create a Circle credit crypto repayment** (Create). Initiate a crypto repayment for a credit transfer in Circle. Returns: id, amount, status, createDate, updateDate. Required: idempotencyKey, amount. Only available for Line of Credit products; the requested amount is capped at the outstanding balance.
- **Create a Circle mocks repayment** (Create). Create a mock wire repayment in the Circle sandbox that simulates an incoming wire payment to repay an outstanding credit transfer. The fiat account is automatically linked as a repayment account if not already linked. Returns: trackingRef, amount, status. Required: amount. Available only in the sandbox environment.
- **List all Circle partner applications** (List). List Circle partner onboarding applications for the authenticated partner. Returns each application's id, status, createDate, and updateDate. Filter by status to narrow results; valid statuses are APPROVED, CANCELLED, DENIED, DRAFT, IN_REVIEW, PENDING_CUSTOMER_INFORMATION, and SUBMITTED.
- **Get single Circle partner application by ID** (Get). Get a single Circle partner onboarding application by id. Returns the application's id, status, createDate, and updateDate. Required: id.
- **Delete a Circle partner application by ID** (Delete). Cancel a draft Circle onboarding application by id. Only DRAFT applications are cancellable; other operation types are not currently cancellable. Returns the cancelled application object including its id and status. Required: id. Returns 409 if the application cannot be cancelled in its current state.
- **List all Circle application certifications** (List). List active certifications for a Circle onboarding application. Returns: certificationId, htmlContent, metadata. The returned ids can be passed back as certificationIds on application submit to explicitly acknowledge them. Required: application_id.
- **List all Circle data** (List). List all visible section data for a Circle onboarding application. The data object is keyed by section name and is round-trip compatible with the bulk update endpoint. Returns: data. Required: application_id.
- **Circle data bulk update** (Update). Save data for multiple sections of a Circle onboarding application in a single atomic request. Validation is atomic: if any section fails validation the entire request is rejected. Array sections use upsert semantics (items with refId update, items without refId create). Returns: data. Required: application_id.
- **List all Circle application documents** (List). List documents uploaded for a Circle onboarding application. Returns: id. Required: application_id.
- **Create a Circle application document** (Create). Upload a document to a Circle onboarding application. Returns: id. Required: application_id, documentType.
- **Delete a Circle application document by ID** (Delete). Delete a document from a Circle onboarding application. Returns an empty 204 response on success. Required: application_id, id.
- **Get single Circle application document by ID** (Get). Download a document file from a Circle onboarding application. Returns the document file content as a binary stream (application/octet-stream) that cannot be enumerated as JSON fields. Required: application_id, id.
- **List all Circle application rfis** (List). List RFI bundles with items for a Circle onboarding application. Returns: id, type. Required: application_id.
- **Update a Circle application rfi by ID** (Update). Submit field data in response to an UPDATE_FIELD or NEW_FIELD RFI in Circle onboarding. Returns: id, type, createDate. Required: application_id, id.
- **Get single Circle application rfi by ID** (Get). Get RFI detail with comment history for a Circle onboarding application. Returns: id, type, createDate, algorithm, publicKey. Required: application_id, id.
- **Create a Circle application rfi** (Create). Add a comment to an RFI in a Circle onboarding application. Returns: id, createDate, updateDate. Required: application_id, rfi_id.
- **Update a Circle rfi comment by ID** (Update). Update a comment on an RFI in Circle. Returns: id, createDate, updateDate, algorithm, publicKey. Required: application_id, rfi_id, id.
- **Delete a Circle rfi comment by ID** (Delete). Delete a comment on an RFI in Circle. Returns an empty 204 response on success. Required: application_id, rfi_id, id.
- **List all Circle application schemas** (List). Get the JSON Schema (draft 2020-12) for a Circle application's onboarding template. Returns a JSON Schema document whose structure varies by application template, including an x-resolved marker when the resolved query parameter is true. Required: application_id.
- **List all Circle application sections** (List). List sections for a Circle onboarding application with their statuses, optionally including field data when includeData is set. Returns the section list with content-type-specific fields. Required: application_id.
- **Update a Circle application section by ID** (Update). Save field data for a section of a Circle onboarding application. Returns the saved section data with updated section statuses. Required: application_id, id. Body structure is defined by the section's JSON Schema; for array sections, maxItems is enforced.
- **Delete a Circle application section by ID** (Delete). Remove an entity from an array section of a Circle onboarding application. Returns the updated section list with content-type-specific fields. Required: application_id, section_name, id.
- **Get single Circle application section by ID** (Get). Retrieve field data for a specific section of a Circle onboarding application. Returns the section data object with content-type-specific fields. Required: application_id, id.
- **Create a Circle application submit** (Create). Submit a Circle onboarding application for review. Returns: id. Required: application_id. The application must be in a submittable state.
- **List all Circle configurations overviews** (List). Get the payment configuration overview in Circle showing supported countries, currencies, payment methods, and blockchains. Returns: countries, currencies, paymentMethods, blockchains.
- **List all Circle configurations routes** (List). List supported payment routes in Circle. Returns route details including trade limits and valid corridors that determine which parameters are accepted for subsequent quote creation.
- **Create a Circle cpn quote** (Create). Create one or more CPN quotes in Circle for given source/destination parameters. Returns: id. Provide either sourceAmount or destinationAmount; quotes are sorted ascending by sourceAmount when based on destinationAmount, or descending by destinationAmount when based on sourceAmount.
- **Get single Circle cpn quote by ID** (Get). Get details of a specific CPN quote in Circle by id. Returns: id. Required: id.
- **List all Circle cpn payments** (List). List Circle CPN payments filtered by status, customer reference ID, reference code, and date range. Returns: id.
- **Create a Circle cpn payment** (Create). Create a Circle CPN payment from a previously created quote, submitting recipient travel rule information. The payment remains valid if onchain settlement occurs before settlementExpireDate. Returns: id. Required: idempotencyKey.
- **Get single Circle cpn payment by ID** (Get). Get a Circle CPN payment by id, including PII fields needed for travel rule and beneficiary account data. Returns: id, createDate. Required: id.
- **List all Circle payments requirements** (List). Get payment requirements for a CPN quote in Circle, retrieving the PII fields needed to collect to make a payment (travel rule and beneficiary account data). Returns the payment requirements object with quote-specific PII field requirements. Required: quoteId.
- **Create a Circle payment transaction** (Create). Create an unsigned onchain transaction for a specific payment in Circle. Returns: id. Required: payment_id, idempotencyKey.
- **Get single Circle payment transaction by ID** (Get). Get a specific transaction by its ID for a given payment in Circle. Returns: id, createDate, updateDate, algorithm, publicKey. Required: payment_id, id.
- **Create a Circle transactions accelerate** (Create). Accelerate a stuck onchain transaction for a CPN payment in Circle. Creates a new transaction with the same params as the newest broadcasted one so OFI can re-sign with a higher gas fee and resubmit via /submit. Returns the transaction object including id, state, and createDate. Required: payment_id. All existing transactions for the payment must be in FAILED or BROADCASTED state; no COMPLETED,…
- **List all Circle payment rfis** (List). Get details for a specific RFI (Request for Information) on a Circle CPN payment. Returns the RFI record (data) including its id. Required: payment_id, rfi_id.
- **Create a Circle rfi submit** (Create). Submit encrypted RFI data to complete an RFI request from the BFI in Circle CPN. Returns the RFI response object including its data. Required: payment_id, rfi_id. The request body carries encrypted RFI data whose field structure is defined by the upstream SubmitRfi schema.
- **Create a Circle rfi file** (Create). Upload an encrypted RFI file to a specific RFI for a CPN payment in Circle. The request body is sent as multipart/form-data containing the encrypted file. Returns an empty 204 response on success. Required: payment_id, rfi_id.
- **List all Circle payment refunds** (List). Get a specific refund associated with a CPN payment in Circle. Returns the full refund object including id, type, status, amount, merchantId, paymentId, settlementAmount, depositAddress, createDate, and updateDate. Required: payment_id, refund_id.
- **Create a Circle cpn support ticket** (Create). Create a support ticket in Circle CPN for transaction-related issues such as settlement delays, missing information, or refunds. Returns: id. Tickets are stored centrally in the CPN platform and routed to the appropriate party for resolution.
- **List all Circle accounts** (List). List all Circle accounts available to the calling entity, with optional filters by type, purpose, attribution, status, group, and date range. Returns: accountId, entityId, clientEntityId, type, purpose, status, description, balances, businessPii, groupId, id.
- **Create a Circle account** (Create). Create a new Circle account for Mint (purpose custody, type first_party or third_party) or Managed Payments intermediary (purpose payments, type first_party). Including businessPii routes to the intermediary flow; omitting it creates a standard custody account. Returns: data. Required: type, purpose.
- **Get single Circle account by ID** (Get). Get a single Circle account by id. Returns: data. Required: id.
- **Update a Circle account by ID** (Update). Update a Circle account by id, changing only the mutable fields included in the request body; omitted fields are left untouched. Returns the updated account object including id, type, purpose, status, createDate, and updateDate. Required: id.
- **Circle accounts archive** (Archive). Archive a subledger account in Circle. The account must have a zero balance and only subledger-type accounts created via POST /v1/accounts may be archived. Returns: data. Required: account_id. Archiving is idempotent; an incoming deposit to a pre-existing deposit address will auto-unarchive the account.
- **List all Circle accounts groups** (List). List custody account groups owned by the calling entity in Circle. Each row includes an aggregate USD-equivalent balance and a short preview of member account names. Returns: id, name.
- **Create a Circle accounts group** (Create). Create a new custody account group in Circle. If accountIds is provided, those accounts are assigned to the new group in the same transaction. Returns: data. Required: name.
- **Get single Circle accounts group by ID** (Get). Get a single custody account group in Circle by id. Returns the metadata view only: id, name, createDate, updateDate. Required: id.
- **Update a Circle accounts group by ID** (Update). Rename a custody account group in Circle by id. The new name must be unique (case-insensitive) within the calling entity. Returns: data. Required: id, name.
- **Delete a Circle accounts group by ID** (Delete). Delete a custody account group in Circle by id. Soft-deletes the group and all member assignments in a single transaction; member accounts are left untouched. Returns an empty 204 response on success. Required: id.
- **Circle accounts groups assign** (Assign). Bulk-assign up to 100 accounts to a Circle custody account group atomically. Accounts already bound to another group are reassigned. Returns: data. Required: group_id, accountIds. The entire request fails if any account is not found or does not belong to the caller's entity.
- **Circle accounts groups unassign** (Action). Bulk-remove up to 100 accounts from a Circle custody account group. All-or-nothing: every listed account must currently belong to the group. Returns: data. Required: group_id, accountIds. Fails with 404 if any listed account is not currently in the group.
- **List all Circle accounts transfers** (List). List all account transfers in Circle, including internal account-to-account transfers, onchain deposits, and onchain withdrawals. Returns: id, source, destination, amount, fees, transactionHash, status, errorCode, policyEvaluation, createDate. Max 50 per page.
- **Create a Circle accounts transfer** (Create). Create an internal account-to-account transfer in Circle between accounts under the same parent. Returns: data. Required: idempotencyKey, source, destination, amount. Both source and destination must be type account; cross-parent transfers are rejected.
- **Get single Circle accounts transfer by ID** (Get). Get a single account transfer in Circle by id. Returns: data. Required: id.
- **List all Circle accounts transactions** (List). List all account transactions in Circle, including deposits, withdrawals, transfers, and other activity. Returns: id, type, status, amount, destination, source, createDate, updateDate, transactionHash. Results are returned in descending chronological order; if date parameters are omitted, the most recent transactions are returned.
- **List all Circle banks aches** (List). List all ACH bank accounts in Circle. Returns: id, type, status, description, fingerprint.
- **Create a Circle banks ach** (Create). Create a bank account for ACH transfers in Circle. Returns the created ACH account including id, status, trackingRef, billingDetails, fingerprint, and createDate. Required: idempotencyKey.
- **Get single Circle banks ach by ID** (Get). Get a specific ACH bank account in Circle by id. Returns the bank account object including id, status, trackingRef, description, billingDetails, bankAddress, fingerprint, createDate, and updateDate. Required: id.
- **List all Circle accounts deposits** (List). List bank deposits sent to Circle accounts in descending chronological order. Returns: id, destination, amount, fee, status. Returns up to 50 deposits per page.
- **Get single Circle accounts deposit by ID** (Get). Get a single bank deposit in Circle by id. Returns: data. Required: id.
- **List all Circle accounts withdrawals** (List). List all bank withdrawals for Circle accounts, optionally filtered by payout status. Returns: id, destination, amount, fees, status, adjustments, return, description.
- **Create a Circle accounts withdrawal** (Create). Create a bank withdrawal from a Circle account, converting a digital asset to fiat currency and sending it to a specified destination bank account. Returns: data. Required: idempotencyKey, sourceWalletId, destination, amount.
- **Get single Circle accounts withdrawal by ID** (Get). Get a specific Circle account bank withdrawal by id. Returns the withdrawal object including id, status, amount, createDate, and updateDate. Required: id.
- **List all Circle credit lines** (List). Retrieve Managed Payments credit line details in Circle. Returns: id, limit, status, usage, createDate, updateDate, validationErrors. No required parameters.
- **List all Circle line wire instructions** (List). Get repayment wire transfer instructions for a Circle line of credit, used to repay funds borrowed against the credit line. Returns: data. Required: line_id.
- **List all Circle line transfers** (List). List credit transfers for a specific Circle Managed Payments credit line, filterable by status, date range, and receive job ID. Returns: id, amount, status, dueDate, disbursedDate, createDate, updateDate. Required: line_id.
- **Create a Circle line transfer** (Create). Borrow against a Circle Managed Payments credit line by initiating a transfer. Returns the created transfer including its id, amount, status, createDate, and updateDate. Required: line_id, idempotencyKey, amount.
- **Get single Circle line transfer by ID** (Get). Get a specific credit transfer by id for a Managed Payments credit line in Circle. Returns the transfer object including id, amount, status, outstanding, dueDate, disbursedDate, paidDate, createDate, and updateDate. Required: line_id, id. Fields outstanding, dueDate, and disbursedDate appear only when status is disbursed, paid, or past_due; paidDate appears only when status is paid.
- **List all Circle pix instructions** (List). Get PIX transfer instructions for a Circle PIX bank account. Returns: trackingRef, ispb, branchCode, accountNumber, accountType, taxId, name. Required: pix_id.
