Stablecoins
Stablecoins are the foundation of the Arc ecosystem, supporting a growing set of
fiat-backed and yield-bearing tokens. These assets provide price stability,
onchain yield, and multi-currency support for payments, FX, and financial
applications. The ERC-20 functions affect native balance movements.
USDC
USDC is the native EVM asset on Arc and is used for gas fees. The native
balance, consistent with most EVM implementations, expresses the balance up to
18 decimals of precision.
An optional USDC ERC-20 interface is also available for developers who need
ERC-20 features such as transferFrom, approve, and allowance management. The
ERC-20 function call directly affects native USDC balance movements.
| Contract | Address | Notes |
|---|
| USDC | 0x3600000000000000000000000000000000000000 | Optional ERC-20 interface for interacting with the native USDC balance. Uses 6 decimals. |
Getting testnet USDC: You can request USDC on Arc Testnet from the
Circle Faucet. USDC is required to pay for gas and
interact with contracts on Arc.Note: As with any ERC-20 token, always use the decimals() function to
interpret balances and transfer amounts accurately. On Arc, the native USDC
gas token uses 18 decimals of precision, while the USDC ERC-20 interface
uses 6 decimals. Avoid mixing these values directly, as doing so may result in
incorrect balance handling. For applications integrating USDC, it’s recommended
to rely solely on the standard ERC-20 interface for reading balances and sending
transfers.
EURC
EURC is the euro-denominated stablecoin issued by Circle and supported natively
on Arc for use in payments, FX, and other financial applications.
| Contract | Address | Notes |
|---|
| EURC | 0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a | Main EURC token contract. Uses 6 decimals. |
Getting testnet EURC: Testnet EURC can be requested from the Circle
Faucet. Select Arc Testnet as the network and
EURC as the token to receive a small test allocation.
USYC
USYC is a yield-bearing
token issued by Circle International Bermuda Ltd. and supported on Arc for
institutional and DeFi use cases. It represents shares of a tokenized money
market fund backed by short-duration U.S. Treasury securities, offering onchain
access to regulated, low-risk yield.
USYC is only accessible to institutions outside the United States, subject to
eligibility restrictions and a $100,000 USD minimum investment. See
USYC Document Certification Requirements
for more information.
| Contract | Address | Notes |
|---|
| USYC | 0xe9185F0c5F296Ed1797AaE4238D26CCaBEadb86C | The main USYC token contract representing tokenized money market fund shares. Uses 6 decimals. |
| Entitlements | 0xcc205224862c7641930c87679e98999d23c26113 | Manages allowlisted access and entitlement controls for permissioned addresses on the Arc Testnet. |
| Teller | 0x9fdF14c5B14173D74C08Af27AebFf39240dC105A | Contract used to mint and redeem testnet USYC from testnet USDC once your wallet is allowlisted. |
Getting testnet USYC:
- Obtain testnet USDC from the Circle Faucet.
- Request allowlisting by opening a ticket with
Circle Support and include your Arc Testnet
wallet address. Requests are typically processed in 24–48 hours.
- Once approved, call the USYC Teller contract or interact with the
USYC Portal to deposit testnet USDC and
receive testnet USYC.
For more information on issuance, redemption, and eligibility, see
USYC Overview.
Crosschain
The contracts below enable crosschain interoperability between Arc and other
blockchains through Circle’s
Cross-Chain Transfer Protocol (CCTP) and
Gateway. CCTP handles crosschain
message passing and stablecoin transfers, while Gateway provides
chain-abstracted USDC balances for seamless liquidity movement.
CCTP
Gateway
Payments and settlement
Arc provides payment and settlement contracts that enable foreign exchange and
onchain settlement workflows using stablecoins. These components support
application-level use cases such as FX execution and escrow-based settlement.
StableFX
StableFX is an enterprise-grade
stablecoin FX engine that combines Request-for-Quote (RFQ) execution with
onchain settlement on Arc. The following is the address for the escrow contract
used to settle stablecoin swaps.
| Contract | Address | Notes |
|---|
| FxEscrow | 0x867650F5eAe8df91445971f14d89fd84F0C9a9f8 | The escrow contract used by both makers and takers to settle stablecoin swaps. |
Before executing FX trades, StableFX must be able to transfer USDC from your
wallet. To enable this, you need to grant a USDC allowance to the Permit2
contract. See Common Ethereum contracts for the
Permit2 address.
Transaction extensions
Arc provides predeployed contracts for attaching memos to transactions and
batching calls with sender preservation. Both contracts route subcalls through
the CallFrom precompile, which preserves the original msg.sender in each
subcall.
| Contract | Address | Notes |
|---|
| Memo | 0x9702466268ccF55eAB64cdf484d272Ac08d3b75b | Attaches memo metadata to contract calls. Emits Memo events with a sequential index. |
| Multicall3From | 0xEb7cc06E3D3b5F9F9a5fA2B31B477ff72bB9c8b6 | Batches multiple calls like Multicall3, but preserves the original msg.sender in each subcall. |
Offchain blocklist operators: If you maintain an offchain blocklist or
compliance screening system, you must include the Memo and Multicall3From
contract addresses. These contracts preserve msg.sender through the CallFrom
precompile, meaning the original caller’s address appears as the sender in
subcalls. Your monitoring should account for transactions routed through these
contracts to ensure blocklist enforcement is not bypassed.
Common Ethereum contracts
Arc Testnet includes a set of widely used Ethereum ecosystem contracts for
deterministic deployment, batched reads, and standardized token approvals.
Although not Circle-managed, these contracts are deployed on Arc to ensure
compatibility with common EVM tooling and workflows.
| Contract | Address | Notes |
|---|
| CREATE2 Factory (Arachnid) | 0x4e59b44847b379578588920cA78FbF26c0B4956C | Minimal proxy for deterministic contract deployment using the CREATE2 opcode. |
| Multicall3 | 0xcA11bde05977b3631167028862bE2a173976CA11 | Aggregates multiple read calls into a single call for efficient data retrieval. |
| Permit2 | 0x000000000022D473030F116dDEE9F6B43aC78BA3 | Universal contract for signature-based token approvals. Required for StableFX. |