Create a payment stream — USDC flows continuously from sender to recipient, earned per second on Arc. Withdraw anytime. Cancel for instant fair refund.
$0.01
Gas per tx
<1s
Finality
USDC
Stablecoin
1/sec
Stream rate
LIVE FEED
USDC streams per second on Arc
Withdraw earned amount anytime
Cancel → instant fair split
Top up to extend duration
$0.01 gas · Arc Testnet
Sub-second deterministic finality
ERC-20 USDC · 6 decimal precision
Powered by Arc × Circle
USDC streams per second on Arc
Withdraw earned amount anytime
Cancel → instant fair split
Top up to extend duration
$0.01 gas · Arc Testnet
Sub-second deterministic finality
ERC-20 USDC · 6 decimal precision
Powered by Arc × Circle
Protocol
How It Works
Four onchain actions. Click each to explore.
01
Deposit USDC into stream ▸
Total USDC locked onchain the moment you create the stream. Flows continuously to recipient per second — no delay, no batch, no intermediary.
createStream() · transferFrom()
02
Recipient earns every second ▸
Live balance updates 10x per second in the UI. Recipient can call withdraw() at any moment to claim all earned USDC. No minimum. No lock-up period.
withdraw() · Sub-second finality on Arc
03
Cancel for instant fair split ▸
Sender cancels anytime. Contract calculates the exact second: recipient gets earned portion, sender gets unspent remainder — both in the same transaction.
cancel() · Atomic split · Single tx
04
Top up to extend ▸
Add more USDC at any time. Stream duration extends proportionally at the same per-second rate — no new stream needed.
topUp() · Extends stopTime proportionally
—
Your USDC
—
Total Streams
—
Active
—
USDC Streamed
New Stream
createStream() · USDC · Arc Testnet
Availableloading...
USDC Allowancechecking...
// min 1 USDC
stream_rate
—
How It Works
Click each step to expand · Instant settlement on Arc
01
Deposit USDC into stream ▸
Total USDC locked onchain the moment you create the stream. Flows continuously to recipient per second — no delay, no batch. The contract holds funds until fully streamed or cancelled.
createStream() · transferFrom()
02
Recipient earns every second ▸
Balance updates in real-time — 10x per second in the UI. Recipient can call withdraw() at any moment to claim all earned USDC so far. No minimum, no lock-up.
withdraw() · Sub-second finality on Arc
03
Cancel for instant fair split ▸
Sender can cancel anytime. The contract calculates the exact second of cancellation: recipient gets their earned portion, sender gets the unspent remainder — both in the same transaction.
cancel() · Atomic split settlement
04
Top up to extend ▸
Running low? Add more USDC at any time. The stream duration extends proportionally at the same per-second rate — no need to create a new stream.