---
title: Circle API Integration on Truto
slug: circle
category: Payment Gateway
canonical: "https://truto.one/integrations/detail/circle/"
---

# Circle API Integration on Truto



**Category:** Payment Gateway  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 294 tools for Circle that AI agents can call directly.

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

1. **Link your customer's Circle account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Circle.** The Proxy API is a 1-to-1 mapping of the Circle API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed stablecoin payouts in payroll and contractor platforms** — Global payroll and HRTech SaaS can let their business customers fund payroll via ACH or Wire and pay international contractors instantly in USDC. Truto handles the Circle connection so your users authenticate once and payouts flow through your product.
- **Offer crypto checkout and invoicing to B2B merchants** — Invoicing, AP/AR, and e-commerce platforms can generate Circle payment intents on invoices, accept USDC or EURC, and trigger refunds — all from within their app. This unlocks cross-border payment acceptance without merchants touching crypto directly.
- **Ship invisible wallets inside your product** — Marketplaces, ticketing platforms, and creator tools can spin up developer-controlled or user-controlled Circle wallets for every end user in the background. Your customers get on-chain functionality without any wallet UX friction.
- **Automate treasury FX and cross-chain rebalancing** — Treasury and Web3 platforms can integrate StableFX quotes/trades and CCTP burn-and-mint flows to move liquidity between fiat and stablecoins, or across chains. Your customers manage global cash flow from a single dashboard connected to their Circle account.
- **Unlock settlement advances and lines of credit for merchants** — Payment orchestrators and merchant-facing SaaS can programmatically reserve settlement advances or draw on Circle credit lines to smooth cash flow for their merchants. This turns a treasury feature into a differentiated financial product inside your platform.

## What you can build

- **One-click USDC payout runs** — Let your customers create bulk business account payouts to contractor wallets or bank accounts directly from your payroll or AP interface.
- **Embedded fiat funding with dynamic bank instructions** — Fetch live Wire, ACH, and PIX deposit instructions per customer account so users can fund their Circle balance without leaving your product.
- **Invisible wallet provisioning for end users** — Automatically initialize Circle W3S users, create PIN-protected user-controlled wallets, and mint or transfer assets into them behind your existing signup flow.
- **Programmable crypto checkout with refunds** — Generate Circle payment intents on your invoices or product pages, track payment status, and issue refunds or expirations from your admin console.
- **In-app StableFX conversion** — Fetch executable FX quotes and execute StableFX trades to convert between USDC, EURC, and fiat before settling to a merchant's local bank account.
- **Cross-chain USDC treasury rebalancing** — Trigger CCTP burn-and-mint flows and monitor attestation messages so your customers can move USDC across supported chains from a single interface.

## FAQs

### How do end users connect their Circle account through our product?

Truto manages the Circle API key exchange and stores credentials securely per end user. Your customers authenticate their Circle Business Account or W3S environment once, and your app calls Circle through Truto without you handling secrets or refresh logic.

### Which Circle products are covered by the available tools?

The integration covers Circle Business Accounts (payouts, transfers, Wire/ACH/PIX/CUBIX banking), Web3 Services (developer and user-controlled wallets, transactions, contracts), Payments (payment intents, customers, refunds), StableFX, CCTP (burn USDC, attestations, messages), Cross-Chain and CPN, Settlement Advances, Credit Lines, and Compliance/RFI workflows.

### Can we support both developer-controlled and user-controlled wallets?

Yes. You can call create_a_circle_developer_wallet_set and create_a_circle_developer_wallet for wallets your platform controls, or use create_a_circle_user_initialize, create_a_circle_w_3_s_user, and create_a_circle_user_pin flows for wallets the end user secures with a PIN and challenge.

### How does Truto handle Circle's pagination and rate limits?

Truto normalizes pagination on list endpoints (wallets, transactions, payouts, payments, etc.) and handles Circle's rate limit responses with retries and backoff, so you consume results in a consistent way without managing cursors or 429s yourself.

### Can we receive real-time updates from Circle for transactions and payments?

Circle supports notification subscriptions, which are available via create_a_circle_notifications_subscription and related endpoints. You can register subscriptions per connected account and receive events for wallet transactions, payments, payouts, and settlements.

### Is there a tool we need that isn't in the current inventory?

Truto builds integrations on request. If your workflow needs a Circle endpoint that isn't listed, let us know and we'll add it to the integration — you don't have to wait for a roadmap release to unblock a customer.

## Related reading

- [Connect Circle to Claude: Automate Global Payments and Compliance](https://truto.one/blog/connect-circle-to-claude-automate-global-payments-and-compliance/) — Learn how to connect Circle to Claude using Truto's managed MCP server. Automate global payouts, Web3 wallets, and compliance screening with natural language.
- [Connect Circle to ChatGPT: Manage Web3 Wallets and Transactions](https://truto.one/blog/connect-circle-to-chatgpt-manage-web3-wallets-and-transactions/) — Learn how to connect Circle to ChatGPT using a managed MCP server. Automate Web3 wallet provisioning, transaction tracking, and StableFX workflows.
- [Connect Circle to AI Agents: Orchestrate Bridging and FX Trading](https://truto.one/blog/connect-circle-to-ai-agents-orchestrate-bridging-and-fx-trading/) — Learn how to connect Circle to AI agents using Truto. This step-by-step developer guide covers fetching tools, handling FX trades, and building autonomous workflows.
