PrivacyARC logo PRIVACYARC Docs
Getting Started

PrivacyARC Overview

PrivacyARC is privacy infrastructure on Arc Chain. It breaks the on-chain link between who paid and who was paid, by routing USDC through a shielded pool in randomised amounts and at randomised times, and exposes it through two payment surfaces: Private Pay for people, and Agent Rails for machines.

One privacy core. Two payment surfaces.

The same confidential settlement core serves both consumers and autonomous agents. People pay by phone number; agents pay by x402. Neither exposes balances, counterparties, or origin on-chain.

What PrivacyARC is

PrivacyARC is a privacy layer for USDC settlement on Arc Chain. A deposit lands in a single-use holding wallet, is broken into randomised chunks spaced minutes apart, and enters a shielded pool through intermediate wallets. Payments are then settled out of that pool by an intermediate rather than by you, so the amount you deposited and the payment that leaves do not line up in value, timing, or sender.

What this is, precisely

Privacy here is traffic analysis resistance, not cryptography. Balances are ledger entries, not ciphertexts, and the pool authorises settlement by a relayer allowlist rather than by verifying a proof. That is a real and useful guarantee, and it is a different one from encrypted balances — so it is stated plainly rather than implied. See Architecture for exactly what each component does.

What you can do today

send
Send USDC like a text

Pay any phone number. The recipient gets an SMS claim link — no app, no seed phrase, no gas. Funds sit in an SMS escrow contract until claimed or refunded.

smart_toy
Give an agent a bounded wallet

Issue an agent passport with per-transaction and per-day spend caps enforced on-chain, and a kill switch you control that freezes it immediately.

enhanced_encryption
Hold an encrypted balance

Your balance sits in the shielded pool under an intermediate wallet, not your own address. Nothing on-chain ties the pool entry back to the wallet that funded it.

currency_exchange
Settle through the shielded pool

Deposit in the open, move inside the pool, withdraw to a fresh address. The deposit and the withdrawal share no on-chain link.

Product hierarchy

  1. Privacy infrastructure — the shielded pool, the splitting pipeline, and the intermediate wallets. Everything else is built on it.
  2. Private Pay — the consumer product: deposits, username and address payments, pay links, withdrawals. Phone-number payments are built but switched off pending SMS delivery.
  3. Agent Rails — the extension: private x402 payments and agent passports with on-chain spend caps.
Product

Private Pay

Send USDC to any phone number. The recipient claims from an SMS link — wallets optional, privacy default.

How a payment works

  1. Deposit — send USDC to a single-use holding wallet generated for that deposit. You sign an approval and the deposit itself.
  2. Shield — the backend splits the deposit into randomised chunks, spaced minutes apart, and moves each through an intermediate wallet into the pool. Your privacy tier sets how many chunks and how far apart.
  3. Send — pay a username or an Arc address. An intermediate wallet settles it out of the pool, so the payment does not originate from your wallet.
  4. Withdraw — move USDC back out to any Arc address, ideally a fresh one.

Payments to a phone number are built and deployed but switched off in the Dashboard until SMS delivery is configured — the control is labelled “soon”. Pay links use the same escrow contract and work today; only the delivery channel differs.

Privacy tiers

TierChunksSpacingTrade
FullUp to 42–6 minutesHardest to relink, slowest to settle
Semi2–31–3 minutesThe default
Standard1NoneSettles at once; the pool entry matches your amount

Splitting and spacing are the whole mechanism, so a tier is a real trade of settlement speed against how hard your deposits are to relink — and nothing else. Set the default in the Dashboard’s Privacy Centre.

Pay links

Create a one-time link for a fixed amount and share it anywhere. The payer opens the link, reviews, and settles. Unclaimed links auto-refund after 7 days.

Withdrawals

Move USDC from your pool balance back to any public Arc address. Send it to a fresh address to keep the exit unlinked — withdrawing to the address you deposited from undoes the separation the pool bought you.

Product

Agent Rails

An extension of the privacy core for autonomous agents: private x402 settlement, portable identity and reputation, and hard on-chain spend limits.

Private x402 payments

x402 is the HTTP-native payment handshake: a service responds 402 Payment Required, the agent pays, and retries with proof. PrivacyARC settles x402 payments out of the shielded pool, so the resource operator is paid by an intermediate wallet and never sees the agent’s own address or balance. Live on testnet — the Dashboard’s terminal runs the real handshake.

Agent identity

Each agent gets a non-transferable passport in the registry: an on-chain handle with an owner, a verification flag and a revocation flag. The interface is shaped after ERC-8004 — register, verify, revoke, metadata — but the contract is purpose-built and does not inherit the standard. Reputation today is a counter of completed settlements, not a scoring system.

Agent passports and spend caps

A passport carries hard spend caps enforced on-chain: per transaction and per day, the daily counter resetting on the UTC day boundary. Caps are contract-enforced, not policy-enforced, so an agent cannot exceed them even if its own logic is compromised — and the cap is consumed in the same transaction that checks it, so two concurrent payments cannot both pass the check and together overspend.

A passport is a registry entry, not an ERC-4337 smart account. There are no session keys and no per-counterparty limits. Payments are submitted by this backend, which the pool authorises as a relayer.

Kill switch

Every passport has an owner-controlled kill switch. Revoking it freezes the agent's ability to transact immediately, on-chain, without touching the agent's runtime.

Paying as an agent

There is no published SDK yet. Today the Dashboard’s AI / x402 terminal is how you drive a passport end to end — select one, request a quote, and settle it against its caps:

parc> agents
parc> agent 0x…                 # pay as this passport; its caps apply
parc> x402 https://api.example.com/paid-endpoint 0.25
    ← HTTP 402 Payment Required
    → settling from shielded balance…
    ✓ paid 0.25 USDC · HTTP 200 OK

The terminal calls the same endpoints a client library would. A packaged SDK is planned, not shipped.

Getting Started

Testnet Guide

PrivacyARC is live on the Arc public testnet. Everything you can do on testnet today, and how to try it.

Network details

NetworkArc Testnet
Chain ID5042002 (0x4cef52)
Gas tokenUSDC (native, stablecoin-denominated fees)

The Connect Wallet button in the navigation adds or switches to Arc Testnet automatically in MetaMask.

What to test

  1. Deposit and shield — deposit USDC and watch it enter the pool. The minimum is 3.05 USDC, because a smaller amount cannot be split once gas is reserved.
  2. Pay — send to a username or an Arc address, then withdraw to a fresh address.
  3. Pay links — create a one-time link, claim it, and refund an unclaimed one.
  4. Privacy tiers — set Standard, then Full, in the Privacy Centre and compare how the same deposit reaches the pool.
  5. Agent Rails — create a passport, set caps, settle an x402 quote under it in the terminal, then breach the cap and watch the contract refuse.
Testnet means testnet

Arc Testnet USDC has no value, and the faucet at faucet.circle.com issues it freely. Transactions here are real transactions on a test chain — they cost test funds, they can fail, and nothing on testnet is a live mainnet payment. The Dashboard labels testnet state throughout.

Getting Started

Mainnet Transition

Arc public mainnet launches September 16, 2026. PrivacyARC's roadmap is staged so every layer is proven on testnet before it settles real value.

Roadmap

  1. Private Core — the shielded pool, randomised split shielding, and the PARC fee flywheel.
  2. Consumer Reach — SMS escrow, claim links, pay links, and refunds.
  3. Privacy Tiers — Full / Semi / Standard shielding profiles, and settlement by an intermediate rather than your own wallet.
  4. Agent Rails — private x402 and agent passports with on-chain spend caps.
  5. Arc Mainnet Launch — September 16, 2026.

What changes at mainnet

The same contracts and the same interfaces move from chain 5042002 to Arc mainnet (5042). Testnet state does not carry over: balances, escrows, and passports are re-initialized on mainnet. The Dashboard will prompt a network switch at launch and clearly label which network you are on at all times.

PARC fee flywheel

Protocol fees are collected on pool exits and split into buyback, reward and treasury shares by a configurable ratio. Today those shares are computed and recorded, not executed: the split is derived from the ledger and written to an events table so collected and distributed can be reconciled, and a buyback or burn is logged when one is actually performed. There is no automated on-chain buyback, and no PARC token has been deployed.

The flywheel is a roadmap item. Fee parameters and the token itself land with the mainnet configuration; nothing on testnet mints, buys or burns PARC.

Protocol

Architecture

Four contracts and a relay network, composed into one confidential settlement core on Arc Chain.

Components

LayerComponentRole
Shielded poolPrivacyARCPoolHolds pooled balances; settlement authorised by a relayer allowlist
Deposit pathPrivacyARCDepositRouterOne transaction to fund a single-use holding wallet and forward gas
ShieldingSplit queue and intermediate walletsRandomised chunk sizes, ordering and timing between deposit and pool
Consumer escrowPrivacyARCEscrowHash-locked lock / claim / refund behind pay links and SMS
Agent passportsPrivacyARCAgentRegistryPer-tx and daily caps consumed on-chain, plus a kill switch
CommitmentsuploadProofStores commitment bytes. A Groth16 verifier would drop in here

Chain configuration

Chain IDsMainnet 5042 (0x13b2) · Testnet 5042002 (0x4cef52)
GasUSDC — stablecoin-denominated, predictable fees
CompatibilityEVM-compatible Layer-1 built for stablecoin finance

Known limits

Stated here rather than left to be discovered:

  • Commitments are not proofs. uploadProof stores bytes; the pool authorises settlement by relayer allowlist, not by verification.
  • Relayer trust. An intermediate wallet key can settle any commitment it uploads. They are hot wallets, kept at working balances.
  • Privacy is traffic-shaping. Randomised sizes, counts, ordering and timing, plus intermediate hops. Real, and a different guarantee from encrypted balances.
  • Flywheel distributions are recorded, not executed. Fees are computed from the ledger; buyback and burn are logged when performed.

Security & audits

No third-party audit has been completed. Audits are scheduled ahead of mainnet and reports will be linked here as they are published. Everything on Arc Testnet today uses test USDC.

Protocol

FAQ

Do recipients need a wallet to receive a payment?

To claim, yes — the recipient opens a pay link and withdraws to an Arc address they control. They do not need a PrivacyARC account, and they do not pay gas. Embedded wallet creation at claim time is planned, not built, so today a recipient needs somewhere to receive.

Are my balances encrypted on-chain?

No, and it is worth being exact about it. Your balance is a pooled position held under an intermediate wallet, recorded in the pool contract and in the protocol ledger. What privacy buys you is the missing link: nothing on-chain connects the wallet that deposited to the balance that later pays. Encrypted balances are a different design and are not what runs here.

What’s the difference between the privacy tiers?

How a deposit is broken up on its way into the pool. Standard sends one chunk immediately, so the pool entry matches your amount. Semi splits it into two or three, one to three minutes apart. Full uses up to four, two to six minutes apart. More chunks and wider spacing make deposits harder to relink by value or timing, and take longer to settle.

What stops an agent from overspending?

Per-transaction and per-day caps written into its passport and enforced by the registry contract, consumed in the same transaction that checks them — plus an owner-controlled kill switch that freezes the passport on-chain and takes effect immediately, without touching the agent’s runtime.

Is testnet value real?

No. Arc Testnet (chain 5042002) uses test USDC. The Dashboard labels testnet state explicitly and never presents testnet actions as live mainnet transactions.

When mainnet?

Arc public mainnet launches September 16, 2026. PrivacyARC's five roadmap phases complete with that launch.

Ready to settle privately?

Open the Dashboard to send your first private payment on Arc Testnet.