Starter kit for Arc builders — give AI agents cross-chain USDC superpowers via Circle App Kit, without wiring viem and CCTP yourself.
One SDK surface, three agent runtimes, 16 tools everywhere:
| Runtime | Package path | Install |
|---|---|---|
| ElizaOS | plugin-arc-appkit/ |
npm install @arc/app-kit-plugin or build from source |
| OpenClaw | openclaw-plugins/arc-appkit/ |
Load openclaw.plugin.json |
| Hermes | hermes-plugins/arc-appkit/ |
Python plugin + arc-cli/ bridge |
Reference app (prediction markets): Bagwork uses these plugins alongside a Next.js dApp on Arc Testnet. This repo is the Arc OSS submission — docs here are agent- and stablecoin-focused only.
Arc is USDC-native gas with fast finality — ideal for agents that move liquidity, fund treasuries, or earn in vaults. Circle App Kit already exposes bridge (CCTP), swap, send, Arc Earn, and unified cross-chain USDC balance. Each agent framework, however, speaks a different plugin dialect.
This repo is the shared layer: thin wrappers so you pick Hermes, ElizaOS, or OpenClaw and get the same tool names and prompts.
| Tool group | Tools | What it does on Arc / CCTP chains |
|---|---|---|
| Bridge | arc_bridge, arc_estimate_bridge |
Cross-chain USDC via CCTPv2 |
| Swap | arc_swap, arc_estimate_swap |
Same-chain stablecoin swaps |
| Send | arc_send, arc_estimate_send |
Transfer USDC/USDT to any address |
| Chains | arc_get_supported_chains |
Discover supported networks |
| Earn | arc_earn_* (5 tools) |
Arc Testnet vault deposit, withdraw, rewards |
| Unified balance | arc_ub_* (5 tools) |
Cross-chain USDC pool + delegated spend |
git clone https://github.com/Bagwork-fun/arc-appkit-agent-plugins.git
cd arc-appkit-agent-plugins
cp .env.example .env
# Edit .env with a funded Arc Testnet key (USDC for gas + ops)
bun install
bun run buildElizaOS
cd plugin-arc-appkit
bun install && bun run buildimport { arcAppKitPlugin } from '@arc/app-kit-plugin';
const agent = new AgentRuntime({
plugins: [arcAppKitPlugin],
settings: {
ARC_PRIVATE_KEY: process.env.ARC_PRIVATE_KEY,
ARC_KIT_KEY: process.env.ARC_KIT_KEY,
},
});Try in chat: "Show my unified USDC balance" → ARC_UB_GET_BALANCES.
Full action list: plugin-arc-appkit/README.md
OpenClaw
Point OpenClaw at:
openclaw-plugins/arc-appkit/openclaw.plugin.json
Set ARC_PRIVATE_KEY and ARC_KIT_KEY in plugin config or environment. Tools register at startup.
Hermes (Python)
cd hermes-plugins/arc-appkit
pip install -e .
cd ../../arc-cli && npm installRegister plugin path hermes-plugins/arc-appkit in your Hermes agent. Python tools shell out to arc-cli for App Kit calls.
cd arc-cli
npm install
node index.js '{"privateKey":"0x...","action":"getSupportedChains","params":{}}'With no payload, the CLI prints usage and this repository URL.
| Variable | Required | Purpose |
|---|---|---|
ARC_PRIVATE_KEY |
Yes | EVM key for signing (hex, optional 0x) |
ARC_KIT_KEY |
Swaps only | Circle Kit Key for arc_swap / arc_estimate_swap |
Aliases: CIRCLE_PRIVATE_KEY, CIRCLE_KIT_KEY.
Arc Testnet: fund the wallet with test USDC; gas is paid in USDC on Arc. Earn tools default to Arc Testnet vault 0xAabbeF1D3971c710276ed41eC791BbE14CdB8E88.
arc-appkit-agent-plugins/
├── plugin-arc-appkit/ # ElizaOS (@arc/app-kit-plugin)
├── openclaw-plugins/arc-appkit/
├── hermes-plugins/arc-appkit/
├── arc-cli/ # JSON-in / JSON-out bridge for Hermes
├── docs/ # Integration screenshots
├── .env.example
└── package.json # Workspace root (bun)
When submitting to Arc OSS or arc-canteen, link this repository (not only a monorepo that mixes product docs):
- Repo: https://github.com/Bagwork-fun/arc-appkit-agent-plugins
- CLI reference: run
node arc-cli/index.jswith no args to print the same URL
Bagwork’s main app README keeps a short pointer here for discoverability.
bun run build # ElizaOS + OpenClaw packages
bun run test # plugin-arc-appkit tests
bun run dev # watch build (ElizaOS plugin)MIT — see LICENSE.


