Arckeep
the operating account for AI agents · on Arc
Milestones
7 / 10
done
Contract tests
10 / 10
passing
x402 calls
13
settled (local)
Final submission
Aug 9
demo day Aug 20
USDC treasury · USYC yield on idle · x402 pay-per-call · on-chain spend policy
01 — Brief

What we are building

Arckeep gives an autonomous agent a bank account that earns Treasury yield on idle cash and physically cannot overspend. On Arc (Circle's L1, USDC is native gas): idle USDC auto-earns via USYC, x402 revenue refills the same vault, and every outflow is bound by an on-chain mandate the agent cannot override.

The pitch is not yield (that already won ArcFlow's Arc track and ships on mainnet via Giza). It is the four-way intersection nobody closes: the mandate as the product, a closed x402 earn-spend-refill loop on one ledger, per-payment JIT redemption tied to a 402 response, and an ERC-8004 identity bound to the account. Complementary to Circle, never a competitor.

Context
  • Event · Encode × Arc, Programmable Money
  • Track · Agentic Economy
  • Prize · 8-week accelerator (~8 teams)
  • Deadline · ~Aug 9 AoE · demo Aug 20
  • Repo · 1-hackathon/arc-hackathon/float
02 — Thesis & moat

Why it can win (and why x402 alone can't)

x402 is saturated, so a plain "agent pays an API in USDC" demo loses. The moat is four Arc-native things a generic x402 demo on another chain structurally cannot copy:

Native-USDC gas

Agent holds one asset. Working balance = gas. No second token to juggle.

USYC yield

Idle capital earns tokenized T-bill yield, native to Arc. Impossible on Base.

EURC + on-chain FX

Native euro stablecoin and FxEscrow for cross-currency agent payments.

ERC-8004

Arc's live agent identity + reputation registries. On-chain trust for the agent.

honest read Credible top-8 contender, not a lock. Below 50% as-is. The two biggest levers: get it live on Arc, and sharpen the first customer. The use case is forward-looking, so execution and a clear wedge carry the pitch.
03 — Architecture

How it fits together

Contracts (Foundry)
  • FloatAccount, the treasury. Sweeps idle USDC above a buffer into yield, redeems just-in-time to pay, and enforces per-service caps, a global daily cap, and an allowlist on every payment.
  • MockUSYCTeller, interface-identical to Circle's real USYC Teller (rising 18-dec price, Chainlink-style read). Swap to real USYC with one setYieldSource() call once entitled.
  • IYieldSource, the exact ERC-4626 subset the real Teller exposes, so mock to real is a one-line change.
Payment loop (the x402 flow)
  1. Agent hits an x402-gated service → gets 402 with price + payTo.
  2. Agent checks policy on-chain (canPay).
  3. Settles via FloatAccount.pay(), which JIT-redeems from USYC if the buffer is short.
  4. Retries with proof; the service verifies the on-chain Paid event, then serves.

No separate facilitator: settlement is on-chain via the treasury, so there is no custodial hot wallet. Canonical x402 (EIP-3009) remains a documented alternative.

04 — Progress

Where the build stands

7 / 10
milestones
05 — Decisions

Key calls and why

Agentic Economy over DeFi track

DeFi track floods with Uniswap/Aave clones. Agentic is Arc's flagship narrative and less crowded.

USYC gated → mock + one-line swap

Real USYC needs ROLE_INVESTOR. Build to the real Teller's ERC-4626 interface; swap in once granted. Stronger story than a naive mock.

On-chain settlement, no facilitator

Treasury settles the payment; service verifies the Paid event. Cleaner trust, no custodial hot wallet.

Fork x402, never from scratch

Time-boxed. Reuse mature rails; the differentiated core is the yield-bearing treasury + policy.

◆ — Prior builds

How Arckeep compares to our past yield apps

Seven yield/DeFi builds from the hackathon folder, scored on the axes that define Arckeep. ERC-4626 and the "idle capital shouldn't sit idle" thesis recur across them; fusing a spend-mandate + yield-on-idle + x402 into one account does not.

App Venue · chain Yield source earns agent x402 policy
ArckeepEncode × Arc · ArcUSYC · RWA T-bill
AsiaLinkEtherlinkERC-4626 · sim lending
ENSIO / FlowFiBaseMorpho · lending ~
CeloFXCeloFX / Mento arb ~~
BitYieldStacksreads yields only
AutoYield0Goptimizes pools
TrustTradeBase Sepoliatrading strategy
YieldCompassSolanaanalytics only

✓ full · ~ present but different in kind · – none  |  earns = holds/earns yield · agent = autonomous AI · x402 = per-call payments · policy = on-chain spend/risk rules

ERC-4626 recurs; only Arckeep is RWA

AsiaLink, ENSIO/FlowFi and Arckeep all wrap yield in an ERC-4626 vault. The source differs: simulated lending, Morpho lending, and USYC tokenized T-bills. Arckeep is the only one on regulated RWA yield and the only one written against a real protocol interface (the verified USYC Teller).

"Idle capital shouldn't sit idle", generalized

AsiaLink parks idle escrow; ENSIO parks idle payments; both for humans. Arckeep treats the vault as the agent's own operating account and closes the loop: x402 revenue booked via earn() auto-sweeps back into the same vault it pays from (netFlow = revenue − paid).

x402 and policy appear apart; Arckeep fuses them

x402 shows up in BitYield, CeloFX and ENSIO's MCP; on-chain policy in CeloFX (hashed intent) and TrustTrade (RiskRouter/EIP-712). No other build enforces per-service caps + a daily cap + an allowlist on every payment while also earning idle yield and paying over x402.

Chains sprawl, the stack rhymes

Across builds: Stacks, Solana, Celo, 0G, Etherlink, Base, Starknet, Arc — but the toolkit is always Foundry + Next.js + a Claude/MCP agent loop. Arckeep's moat is chain-specific: USYC yield + native-USDC gas + Circle tooling coexist only on Arc.

06 — Stack & addresses

Arc testnet + the stack

ThingValue
ChainArc testnet · id 5042002 · rpc.testnet.arc.network
Explorertestnet.arcscan.app · faucet.circle.com
Native USDC0x3600000000000000000000000000000000000000
Real USYC Teller0x9fdF14c5B14173D74C08Af27AebFf39240dC105A
ERC-8004 Identity0x8004A818BFB912233c491871b3d84c89A494BD9e
ERC-8004 Reputation0x8004B663056A597Dffe9eCcC1965A193B7388713
ERC-8183 jobs0x0747EEf0706327138c69792bF28Cd525089e4583
App stackFoundry · Next 15 · viem · Tailwind · x402 fork (Apache-2.0)
07 — Run the demo

Local, end-to-end

# 1 — local chain
anvil --silent --port 8545
# 2 — deploy + seed (MockUSDC, funded, swept, sample x402 payments)
cd float/contracts
PRIVATE_KEY=<anvil> USDC_ADDRESS=0x00..00 SEED=true \
  forge script script/Deploy.s.sol:Deploy --rpc-url http://127.0.0.1:8545 --broadcast
# 3 — dashboard (copy printed addrs into app/.env.local)
cd ../app && pnpm install && pnpm build && pnpm start
# 4 — run the agent through the pay-per-call loop
node scripts/agent.mjs  # or press "Run agent task" in the UI

Flip to Arc: set RPC_URL=https://rpc.testnet.arc.network, CHAIN_ID=5042002, USDC_ADDRESS=0x3600… and redeploy.

08 — Risks & open

What could sink it

09 — Build log

Dated entries