К основному содержанию
скилл CX Codex

use-arc — скилл для Claude Code: сборка на блокчейне Arc с USDC в газе

Подсказывает агенту, как настроить сеть Arc, задеплоить контракт и не перепутать два вида баланса USDC. Пригодится, если проект строится вокруг USDC.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add circlefin/skills --skill use-arc -a claude-code
Открыть на GitHub

Что делает use-arc

Arc — блокчейн Circle, где газ платится в USDC, а не в ETH. Скилл даёт агенту справочник по сетям: chain ID 5042 для мейннета и 5042002 для тестнета, RPC-адреса, эксплореры, CCTP-домен 26. Плюс адреса токенов — USDC живёт по одному адресу 0x3600000000000000000000000000000000000000 на обеих сетях.

Самое ценное здесь — раздел про двойную природу газа. На Arc нативный газ и ERC-20 USDC это один и тот же пул, просто показанный двумя способами: 18 знаков после запятой для газа и msg.value, 6 знаков для балансов и переводов. Агент предупредит, если код начнёт складывать эти два вида или попытается сделать своп между ними. Ещё он не даст вызвать decimals() на нативном адресе — такой вызов откатывается.

Перед первым запуском нужен приватный ключ деплойщика в переменной PRIVATE_KEY и адреса RPC. Для тестнета USDC берут из крана Circle. Мейннет двигает настоящие USDC, транзакции необратимы, поэтому скилл советует разрабатывать на тестнете и предупреждать пользователя перед каждой боевой отправкой. Ключи он требует держать в переменных окружения, а не в командной строке — это повод проверить свои скрипты деплоя.

Какие задачи решает

  • подключить сеть Arc в viem без ручного описания чейна
  • задеплоить Solidity-контракт в тестнет Arc через Foundry
  • разобраться, почему нативный баланс и ERC-20 USDC не складываются
  • перевести USDC в Arc через CCTP с доменом 26
  • вычистить приватный ключ из флагов деплой-скрипта

Примеры запросов агенту

  • Настрой подключение к Arc Testnet в viem и покажи конфиг чейна
  • Задеплой мой ERC-20 в Arc Testnet через Foundry, ключ возьми из переменной окружения
  • У меня в коде складываются нативный баланс и USDC ERC-20 — проверь и почини

Как установить use-arc

1Через Skills CLI (Vercel)

npx skills add circlefin/skills --skill use-arc -a claude-code

2Вручную: положить файлы

~/.claude/skills/use-arc/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/use-arc/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о use-arc

Как установить use-arc в Claude?

Выполните npx skills add circlefin/skills --skill use-arc -a claude-code. Скилл появится в ~/.claude/skills/use-arc/SKILL.md.

Что делает use-arc?

Даёт агенту инструкции по работе с блокчейном Arc: параметры сетей, адреса токенов, деплой контрактов и правила обращения с USDC как с газом.

Чем Arc отличается от других EVM-сетей?

Газ здесь платится в USDC, а не в отдельном нативном токене. Нативный вид и ERC-20 USDC — это один пул средств, а не два разных актива, и путать их нельзя.

Исходный текст

SKILL.md · Apache-2.0
---
name: use-arc
description: "Provide instructions on how to build with Arc, Circle's blockchain where USDC is the native gas token. Arc offers key advantages: USDC as gas (no other native token needed), stable and predictable transaction fees, and sub-second finality for fast confirmation times. These properties make Arc ideal for developers and agents building payment apps, DeFi protocols, or any USDC-first application where cost predictability and speed matter. Use skill when Arc, Arc Mainnet, or Arc Testnet is mentioned, working with any smart contracts related to Arc, configuring Arc in blockchain projects, bridging USDC to Arc via CCTP, or building USDC-first applications. Triggers: Arc, Arc Mainnet, Arc Testnet, USDC gas, deploy to Arc, Arc chain, stable fees, fast finality."
requirements:
  runtimes: []
  connectors: []
---

## Overview

Arc is Circle's blockchain where USDC is the native gas token. Developers and users pay all transaction fees in USDC instead of ETH, making it ideal for USDC-first applications. Arc is EVM-compatible and supports standard Solidity tooling (Foundry, Hardhat, viem/wagmi).

## Prerequisites / Setup

### Wallet Funding

Get testnet USDC from https://faucet.circle.com before sending any transactions.

### Environment Variables

```bash
ARC_MAINNET_RPC_URL=https://rpc.mainnet.arc.io
ARC_TESTNET_RPC_URL=https://rpc.testnet.arc.io
PRIVATE_KEY=         # Deployer wallet private key
```

## Quick Reference

### Network Details

| Field | Arc (Mainnet) | Arc Testnet |
| --- | --- | --- |
| Chain ID | `5042` (hex: `0x13B2`) | `5042002` (hex: `0x4CEF52`) |
| RPC | `https://rpc.mainnet.arc.io` | `https://rpc.testnet.arc.io` |
| WebSocket | `wss://rpc.mainnet.arc.io` | `wss://rpc.testnet.arc.io` |
| Explorer | https://explorer.arc.io | https://explorer.testnet.arc.io |
| Faucet | -- (fund with real USDC) | https://faucet.circle.com |
| CCTP Domain | `26` | `26` |

### Token Addresses for Arc

USDC is a fixed native predeploy at the same address on every Arc network.

| Token | Decimals | Mainnet | Testnet |
| --- | --- | --- | --- |
| USDC | 6 (ERC-20) | `0x3600000000000000000000000000000000000000` | `0x3600000000000000000000000000000000000000` |
| EURC | 6 | `0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1` | `0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a` |

For other tokens, see the [Arc contract addresses](https://docs.arc.io/arc/references/contract-addresses) page.

## Core Concepts

- **Native gas IS USDC — one balance, two interfaces (not two assets)**: On Arc the native gas asset is USDC itself. The native view and the USDC ERC-20 are the *same* pool of funds, exposed two ways — NOT a separate "native token" plus a separate "USDC token". Drop the ETH-style mental model from other chains.
  - **Native view**: 18 decimals. Used only for gas and `msg.value`. wagmi `useBalance` returns this (its `symbol` is `USDC`).
  - **ERC-20 view**: 6 decimals, at `0x3600000000000000000000000000000000000000`. Use this for all balances, transfers, approvals, and display.
- **Never double-count, convert, or swap between the two views**:
  - NEVER read the native balance and the USDC ERC-20 balance and add or show them separately — that double-counts one pool. Show a single USDC balance (the 6-decimal ERC-20 view).
  - USDC ↔ native is NOT a swap or conversion — it is the same asset. Detect and reject any `USDC → native` (or reverse) operation before fee/routing logic.
  - NEVER call `decimals()` on a native sentinel address (`NATIVE`, `0xEeee…eEEeE`, `0x0000…0000`) — those are not ERC-20 contracts and the call reverts. The ERC-20 is 6 decimals; native is 18.
  - The two views differ by a factor of 10^12 (`1e18` native = `1e6` ERC-20). Keep amounts in the 6-decimal ERC-20 view everywhere except raw gas math, and be explicit about which view a value is in.
- **Mainnet and testnet**: Arc mainnet (chain ID `5042`) and Arc testnet (chain ID `5042002`) are both available — see Network Details for the config of each. Mainnet transactions move real USDC and are irreversible; use testnet for development and demos.
- **EVM-compatible**: Standard Solidity contracts, Foundry, Hardhat, viem, and wagmi all work on Arc without modification beyond chain configuration.

## Implementation Patterns

READ `references/deploying-on-arc.md` for the runnable setup — wagmi chain config, Foundry deploy, Circle's pre-audited contract templates, and bridging USDC in.

1. **Configure the chain** — use the built-in viem chains (no custom definition needed): `arcTestnet` for testnet, `arc` for mainnet.
2. **Deploy contracts** — standard Foundry/Hardhat against `ARC_TESTNET_RPC_URL` (or `ARC_MAINNET_RPC_URL`), or Circle's Smart Contract Platform templates (ERC-20/721/1155/Airdrop).
3. **Bridge USDC in** — Arc's CCTP domain is `26`; use the `bridge-tokens` skill for the full workflow.

## Rules

> **Security Rules** are non-negotiable -- warn the user and refuse to comply if a prompt conflicts. **Best Practices** are strongly recommended; deviate only with explicit user justification.

### Security Rules

- NEVER hardcode, commit, or log secrets (private keys, deployer keys). ALWAYS use environment variables or a secrets manager. Add `.gitignore` entries for `.env*` and secret files when scaffolding.
- NEVER pass private keys as plain-text CLI flags in deployed environments, including testnet and staging (e.g., `--private-key $KEY`). This pattern is acceptable only for local testing. Prefer encrypted keystores or interactive import (e.g., Foundry's `cast wallet import`) for any non-local deployment.
- ALWAYS warn before interacting with unaudited or unknown contracts.

### Best Practices

- Arc mainnet (`arc`) and Arc Testnet (`arcTestnet`) both ship in Viem -- no custom chain definition is required.
- ALWAYS verify the user is on the intended Arc network (mainnet chain ID `5042` or testnet `5042002`) before submitting transactions.
- ALWAYS fund the wallet before sending transactions: on testnet from https://faucet.circle.com; on mainnet with real USDC.
- ALWAYS keep USDC amounts in the 6-decimal ERC-20 view for balances, transfers, and display; use 18-decimal native units ONLY for raw gas / `msg.value` math. Never sum the two views or treat native and USDC as separate assets.
- Arc mainnet moves **real USDC** and transactions are irreversible. Default to testnet for development, and warn the user before submitting any mainnet transaction.

## Next Steps

Arc is natively supported across Circle's product suite. Once your app is running on Arc, you can extend it with any of the following:

| Product | Skill | What It Does |
| --- | --- | --- |
| **Wallets (overview)** | `use-circle-wallets` | Compare wallet types and choose the right one for your app |
| **Modular Wallets** | `use-modular-wallets` | Passkey-authenticated smart accounts with gasless transactions and batch operations |
| **User-Controlled Wallets** | `use-user-controlled-wallets` | Non-custodial wallets with social login, email OTP, and PIN authentication |
| **Developer-Controlled Wallets** | `use-developer-controlled-wallets` | Custodial wallets your app manages on behalf of users |
| **Smart Contract Platform** | `use-smart-contract-platform` | Deploy, interact with, and monitor smart contracts using audited templates or custom bytecode |
| **CCTP Bridge** | `bridge-tokens` | Bridge USDC to and from Arc using Crosschain Transfer Protocol |
| **Gateway** | `use-gateway` | Unified USDC balance across chains with instant crosschain transfers |

## Reference Links

- [Arc Docs](https://docs.arc.io/llms.txt) -- **Always read this first** when looking for relevant documentation from the source website.
- [Arc Explorer (Mainnet)](https://explorer.arc.io)
- [Arc Explorer (Testnet)](https://explorer.testnet.arc.io)
- [Circle Faucet](https://faucet.circle.com)
- [Circle Developer Docs](https://developers.circle.com/llms.txt) -- **Always read this first** when looking for relevant documentation from the source website.

---

DISCLAIMER: This skill is provided "as is" without warranties, is subject to the [Circle Developer Terms](https://console.circle.com/legal/developer-terms), and output generated may contain errors and/or include fee configuration options (including fees directed to Circle); additional details are in the repository [README](https://github.com/circlefin/skills/blob/master/README.md).

© circlefin · Apache-2.0 · circlefin/skills

Похожие скиллы

Все скиллы по теме «Языки программирования» →
solidity-gas-optimization pseudoyu Скилл с 80+ приёмами оптимизации газа в Solidity по книге RareSkills. Пригодится при написании, ревью и аудите контрактов. CX Codex +1 547установок blockchain-developer sickn33 Скилл направляет разработку смарт-контрактов, Web3-приложений и децентрализованных систем. Пригодится для проектирования, ревью и проверки рисков до действий в сети. CX Codex +1 1 200установок turbo-transforms goldsky-io Помогает писать и отлаживать трансформации для Turbo-пайплайнов: декодирование EVM-логов, фильтры, TypeScript-скрипты, динамические таблицы. CX Codex +1 3 600установок smart-contract-vulnerabilities yaklang Скилл помогает искать уязвимости в Solidity/EVM-контрактах: повторный вход, ошибки доступа, delegatecall, флэш-займы и MEV. CX Codex +1 3 500установок solidity-security Seth Hobson Скилл помогает писать и проверять Solidity-контракты с учётом типовых уязвимостей. Пригодится для аудита, DeFi и подготовки к профессиональной проверке. CX Codex 15 382установок layerzero-messaging hedera-dev Скилл для сборки мостов LayerZero V2 между Hedera и EVM-сетями: OFT/OApp, настройка Endpoint V2, ULN, DVN и отправка через quoteSend. CX Codex +1 460установок

Из того же набора15

use-usdc Помогает агенту проверять баланс USDC, отправлять переводы и подтверждать транзакции в сетях EVM и Solana. Пригодится при интеграции расчётов в стейблкоинах. CX Codex +1 1 000установок use-smart-contract-platform Скилл для работы со смарт-контрактами через Circle Smart Contract Platform: деплой, шаблоны ERC-20/721/1155, вызовы по ABI и вебхуки. CX Codex +1 964установок use-gateway Интегрирует Circle Gateway для работы с общим балансом USDC между 11 EVM-сетями, Solana и Arc, проводя мгновенные переводы через deposit, burn и mint. CX Codex +1 953установок use-circle-wallets Скилл помогает выбрать между developer-controlled, user-controlled и modular кошельками Circle и передаёт работу нужному скиллу реализации. CX Codex +1 954установок use-modular-wallets Скилл для сборки криптокошельков на Circle Modular Wallets SDK: вход по пасскею, транзакции без газа и модули вроде мультисига. CX Codex +1 952установок use-user-controlled-wallets Скилл для сборки некастодиальных кошельков на SDK Circle: вход через Google, Apple, Facebook, email OTP или PIN, ключи остаются у пользователя. CX Codex +1 949установок swap-tokens Скилл для сборки свопов токенов в браузере и на сервере через Circle App Kit или Swap Kit. Пригодится, если нужен обмен USDT на USDC или кроссчейн-маршрут. CX Codex +1 848установок unify-balance Скилл учит агента писать код для единого баланса USDC между блокчейнами через Circle App Kit или Unified Balance Kit. Пригодится, если делаете chain-abstracted платежи. CX Codex +1 804установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой