Subscriptions that collect themselves.
A $5 monthly plan cannot survive where collecting it costs more than it earns. Here a charge costs the rounding error below — so a subscription can pull its own money, every period, with nobody clicking anything.
One charge — · a year of monthly billing — · gas paid in USDC
Send money with something to say
A payment carries a note on-chain, so the receipt explains itself later. Or turn it into a pay-link: the other side opens it, sees exactly what is being asked for, and pays in one tap.
Send a payment
One transaction, up to twenty wallets
Equal shares, a single confirmation, and a separate on-chain receipt for every recipient. Rounding dust comes back to you rather than being stranded in the contract.
Split a payment
Payments you can take back
Inspired by Miden's P2IDR notes. Until the window closes the payment is still yours and you can cancel it; once it closes it is theirs to claim. The cure for sending to the wrong address.
Send a recallable payment
Your recallable payments
Connect & load — outgoing payments show a cancel countdown, incoming ones become claimable when it ends.
One transaction, two chains
A message leaves Arc through the Chainlink CCIP router, crosses a live lane, and runs code in a contract on the far side — where it is stored and emits an event you can read back below. The fee is paid in USDC, like everything else here.
Send a message across chains
Powered by Chainlink CCIP. Your message leaves Arc and is delivered to the chain shown below. The fee is paid in USDC, like everything else here.
Messages on —
Read straight from your receiver contract — — every message that crossed from Arc and actually landed here.
Send a cross-chain message, wait a few minutes, then load — this proves it arrived and ran code on the other chain.
How this works
→ Chainlink routes the message over the live Arc → Sepolia lane
→ It lands on Ethereum Sepolia and runs your receiver contract
→ The contract stores the message and emits an event
→ One transaction, two chains, real app-to-app messaging
A worker that bills for you
A tiny on-chain agent with its own wallet, living in this page. While it is online it watches the subscription contract and charges every due subscription by itself — no MetaMask prompt, no click, no human. It pays only transaction fees; the subscription money always moves subscriber → merchant directly and never touches the agent.
An agent with its own wallet that runs around the clock, off this page. It watches the subscription contract and collects every due payment by itself — no tab left open, no click, no human. It pays only transaction fees; the subscription money always moves subscriber → merchant directly and never touches the agent.
Every payment, straight from the chain
Read out of the contract's own events and filtered to your address — nothing here comes from a server that could be wrong.
Your receipts
Connect your wallet and load — every Pay on Arc payment you sent or received, straight from the chain.
Recurring payments, settled on-chain
No money leaves your wallet up front. You approve USDC once, and each period is pulled only when it comes due — by the merchant, the billing agent or by you. Cancel in one transaction, any time, from either side.
Start a subscription
Paying out — subscriptions you fund
Nothing yetConnect your wallet and refresh to see what you are paying for.
Getting paid — people subscribed to you
No subscribers yetShare your address with a plan label and they will show up here.
A treasury that rebalances itself
It holds USDC and EURC and tries to keep a fixed split of value between them. Every EUR/USD tick moves that split, so the agent reads the Pyth feed and — once drift breaks the band — pays any keeper a bonus to settle it back on-chain.