Skip to content
Elaichi Elaichi

Payment Gateway

Circle

Connect Circle once and hand every teammate a governed MCP endpoint with 294 tools ready to call from Claude, ChatGPT, Cursor, or any MCP client, inside the same permissions they already have, with every call checked and logged.

Circle

Automations & dashboards

From answering questions to doing the work

A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards ship on the Black plan.

Automations

Put Circle work on a schedule.

A trigger starts a sequence of steps: call a Circle tool, transform the result, branch, wait, and ask a person when it matters.

Circle digest

Run 418 · started 2 minutes ago · on behalf of Emma Laurent

  1. Schedule

    Every weekday at 08:00

    0.2s
  2. Fetch accounts

    Circle

    1.4s
  3. Group by owner

    Transform

    0.1s
  4. Draft the digest

    Agent step

    Ran with 4 tools, returned a structured summary

    6.2s
  5. Approve the digest

    Needs approval

    Assigned to Michael Brennan

    Approve
  6. Post the digest

    Circle

    Queued

Collections and dashboards

Report on Circle without asking.

Collections hold your own data, written by an automation and read by a dashboard that refreshes on a schedule.

Circle health

Refreshed 4 minutes ago · every 15 minutes · from the accounts collection

Live

Accounts

1,284 ↓ 12%

Transfers

96 ↓ 8%

Needs attention

3 ↑ 2

Updated this week

412 ↑ 9%

Accounts created

Last 14 days

By workspace

Share of activity

Engineering 34%

Product 27%

Support 21%

Sales 18%

AI tools

Circle tools for your AI agents

294 tools are ready to call through Elaichi's MCP endpoint the moment you connect Circle, governed by the same roles, restrictions, and audit log as everything else in Elaichi.

list_all_circle_entity_monitored_tokens

List monitored tokens in Circle, optionally filtered by blockchain, token address, or token symbol. Returns: id.

create_a_circle_entity_monitored_token

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

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 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 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

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

Get the configuration for the entity in Circle. Returns the app ID associated to the entity. Returns: appId.

create_a_circle_faucet_drip

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

Ping the Circle API to check that the service is running. Returns a simple health-check confirmation response.

list_all_circle_notifications_subscriptions

List all notification subscriptions in Circle. Returns: id, name, endpoint, enabled, createDate, updateDate, notificationTypes, restricted.

create_a_circle_notifications_subscription

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 a single notification subscription in Circle by id. Returns: id. Required: id.

update_a_circle_notifications_subscription_by_id

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 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 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 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 a Circle wallet set by id. Returns: id. Required: id.

create_a_circle_developer_wallet_set

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 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 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 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

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 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 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

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

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

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 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

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 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

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

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

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 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 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

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

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

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 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 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 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 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 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 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 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 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 all Circle user-controlled wallet challenges, optionally filtered by status. Returns: createDate.

get_single_circle_user_challenge_by_id

Get a single Circle user-controlled wallet challenge by id. Returns: createDate. Required: id.

get_single_circle_users_token_by_id

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 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

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 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

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 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

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

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

Refresh a Circle user token using the refreshToken obtained from SDK login. Returns: userToken. Required: refreshToken.

create_a_circle_email_resend_otp

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 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

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 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 a single user operation in Circle by id. Returns: id, createDate, updateDate. Required: id.

list_all_circle_balances

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 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 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

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

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

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 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 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 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

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

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

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 Circle event monitors, optionally filtered by blockchain, contract address, and event signature. Returns: id.

create_a_circle_contracts_monitor

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 an existing Circle event monitor by id. Returns: id, createDate. Required: id, blockchain, contractAddress, eventSignature.

delete_a_circle_contracts_monitor_by_id

Delete a Circle event monitor by id. Returns an empty response on success. Required: id.

list_all_circle_contracts_events

List Circle contract event logs, optionally filtered by blockchain and contract address. Returns: id.

list_all_circle_attestations

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 the currently active attestation public keys in Circle. Returns: data.

list_all_circle_messages

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 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

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

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

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 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

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

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 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 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

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 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

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

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 the x402 payment kinds supported by Circle Gateway for batching. Returns: kinds, extensions, signers.

get_single_circle_x_402_transfer_by_id

Get a single Circle x402 transfer by id. Returns: id, createDate. Required: id.

list_all_circle_x_402_transfers

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

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 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 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 a single permissionless webhook subscription in Circle by id. Returns: id, createDate. Required: id.

update_a_circle_subscriptions_permissionlese_by_id

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 a permissionless webhook subscription in Circle by id. Returns an empty 204 response on success. Required: id.

create_a_circle_permissionless_test_connection

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

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 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 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 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 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

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 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

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

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

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

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

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 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 a single settlement advance reservation in Circle by id. Returns: id, createDate. Required: id.

circle_settlement_advances_reservations_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

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 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

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 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

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 a settlement advance repayment in Circle by id. Returns: id, createDate. Required: id.

list_all_circle_remote_domain_attestations

List attestations for crosschain transfers in Circle, filtered by remote domain. Returns: data. Required: remote_domain.

create_a_circle_prepare_withdrawal

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

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 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 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 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 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 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 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 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 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 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 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 a specific wire bank account in Circle by id. Returns: data. Required: id.

list_all_circle_wire_instructions

Get wire transfer instructions for a Circle bank account. Returns: data. Required: wire_id.

create_a_circle_payments_wire

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 all CUBIX bank accounts in Circle. Returns: id, status, trackingRef, accountId, transferTypesInfo, policyEvaluation, createDate, updateDate.

create_a_circle_banks_cubix

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 a single CUBIX bank account in Circle by id. Returns: id, status, trackingRef, accountId, transferTypesInfo, policyEvaluation, createDate, updateDate. Required: id.

list_all_circle_instructions

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 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 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 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 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 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 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 a single Circle account deposit address by id. Returns: data. Required: id.

list_all_circle_addresses_recipients

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 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 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 a specific recipient address in Circle by id. Returns: data. Required: id.

list_all_circle_business_account_deposits

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 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 all PIX bank accounts in Circle. Returns: id, status, description, trackingRef, transferTypesInfo, riskEvaluation, policyEvaluation, fingerprint, createDate, updateDate.

create_a_circle_banks_pix

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 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 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 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 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 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 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 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

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 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

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

Get general Circle account configuration information. Returns: payments. No additional fields are documented in the source for this endpoint.

list_all_circle_stablecoins

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 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 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 a single external entity by wallet ID in Circle. Returns: walletId, businessName, businessUniqueIdentifier, identifierIssuingCountryCode, complianceState. Required: id.

list_all_circle_payments

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 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 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 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 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

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 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 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 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 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 crypto payment customer wallets for a Circle customer. Returns: id, customerId, chain, type, vaspId. Required: customer_id.

create_a_circle_customer_wallet

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 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 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 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 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 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 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 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 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 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 an address book recipient by id in Circle. Returns an empty 204 response on success. Required: id.

create_a_circle_verification_cancel

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

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 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 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 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 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 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 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 a single Circle exchange trade settlement by id. Returns: id, entityId, status, createDate, updateDate, details. Required: id.

list_all_circle_settlements_instructions

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

Create a currency trading (FX) account in Circle. Returns: currency, fiatAccountId, createDate, updateDate. Required: currency.

list_all_circle_fx_configs_daily_limits

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 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 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

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 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 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 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 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

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

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 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 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 a single credit fee in Circle by id. Returns: id, transferId, amount, status, accruedDate, createDate, updateDate. Required: id.

list_all_circle_credit_repayments

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 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

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 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 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 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

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 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 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

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 documents uploaded for a Circle onboarding application. Returns: id. Required: application_id.

create_a_circle_application_document

Upload a document to a Circle onboarding application. Returns: id. Required: application_id, documentType.

delete_a_circle_application_document_by_id

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

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 RFI bundles with items for a Circle onboarding application. Returns: id, type. Required: application_id.

update_a_circle_application_rfi_by_id

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 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

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 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 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

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 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

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

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

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

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

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 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 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 details of a specific CPN quote in Circle by id. Returns: id. Required: id.

list_all_circle_cpn_payments

List Circle CPN payments filtered by status, customer reference ID, reference code, and date range. Returns: id.

create_a_circle_cpn_payment

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 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

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 an unsigned onchain transaction for a specific payment in Circle. Returns: id. Required: payment_id, idempotencyKey.

get_single_circle_payment_transaction_by_id

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

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

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

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

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

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 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 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 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 a single Circle account by id. Returns: data. Required: id.

update_a_circle_account_by_id

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 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 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 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 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

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 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

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

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 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 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 a single account transfer in Circle by id. Returns: data. Required: id.

list_all_circle_accounts_transactions

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 all ACH bank accounts in Circle. Returns: id, type, status, description, fingerprint.

create_a_circle_banks_ach

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 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 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 a single bank deposit in Circle by id. Returns: data. Required: id.

list_all_circle_accounts_withdrawals

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 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 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

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

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 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

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 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

Get PIX transfer instructions for a Circle PIX bank account. Returns: trackingRef, ispb, branchCode, accountNumber, accountType, taxId, name. Required: pix_id.

How it works

From Circle account to governed MCP endpoint

Connect

Link a Circle account through Elaichi's hosted connect flow. Credentials are vaulted, so nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Circle tools are exposed, rename them, or freeze arguments.

Authorize

Point Claude, ChatGPT, Cursor, or any MCP client at the one Elaichi endpoint and sign in with OAuth, governed by roles, restrictions, and audit logs.

Put your agents to work in the tools you already use

Start a 14-day Gold trial. Connect a product, curate a toolbox, and paste a governed MCP endpoint into Claude, ChatGPT, or Cursor in minutes.