OPEN SOURCE · BASE LIVE

Set it and
forget it. On-chain.

Dollar-cost average into crypto and tokenized stocks on a schedule you control — without handing your funds to anyone. Coins stay in your wallet until each swap. Permissionless keepers do the rest.

0.1%
Protocol fee · 0.15% keeper
100%
Self-custody, always
4 chains
Base · Arbitrum · Ethereum · Robinhood
DCA · Active
Weekly
$50.00→ WETH
Accumulated
0.4128 WETH
In your wallet
100%
Built on Arbitrum Ethereum Robinhood Chain Routing by KyberSwap Prices by
How it works

Three steps. Then it runs itself.

No deposits, no lock-ups, no counterparty. You approve a spending cap once; the protocol pulls only what each scheduled buy needs.

STEP 01

Approve a spend cap

Grant the executor an allowance on your stablecoin — USDC, USDT, or USDG on Robinhood Chain — limited to your planned runs, or unlimited if you prefer. Your balance never leaves your wallet.

STEP 02

Set your schedule

Pick the asset — ETH, BTC, or a tokenized stock — plus amount, frequency, and optional guardrails: max price, slippage, and a keeper gas cap.

STEP 03

Keepers execute on time

Anyone can run a keeper to trigger due swaps via KyberSwap. They're reimbursed gas up to your cap. Miss the balance? The run is skipped, never stacked.

Simulator

What could steady buying build?

Drag to model a plan. We show what you'd accumulate on an illustrative price path — plus the real 0.1% protocol fee, so there are no surprises.

$50
12 months
Why OpenDCA

Guardrails, not gatekeepers.

Non-custodial

Your USDC/USDT stays in your wallet until each swap. The executor only pulls what a due run needs — nothing more.

Max-price protection

Optionally buy only when the asset is at or below your target, enforced on-chain by Chainlink oracles.

Permissionless keepers

Anyone can trigger due executions. You're never reliant on one operator to keep your plan running.

Low, transparent fees

A 0.1% protocol fee plus a 0.15% keeper fee, charged only on successful executions. The protocol fee is hard-capped at 0.5% in code.

Skip, never stack

Miss a run — low balance or price too high — and it's skipped, not queued. Three provable skips auto-close the plan.

Crypto & tokenized stocks

Buy curated ETH and BTC assets, or DCA into tokenized stocks like TSLA, NVDA, and AAPL natively on Robinhood Chain — plus any custom token address, with your slippage guard.

OpenDCA vs. exchange auto-buy

Recurring buys, minus the custodian.

Open by default

Read every line. Run your own keeper.

OpenDCA is fully open source — contracts, keeper, and this dapp. Execution is permissionless, so you're never dependent on us to run your plan. Verify the fee cap, the skip logic, and the non-custodial flow yourself.

View on GitHub Read the docs

Starter implementation — not yet audited production code. Review the contracts before using real funds.

// funds stay in your wallet until each swap
function executeDCA(uint256 id) external {
require(block.timestamp >= dca.nextExecution);
// 0.1% protocol fee, hard-capped in code
uint256 fee = amount * 10 / 10_000;
token.transferFrom(dca.owner, ...);
// skip, don't accumulate, on failure
if (skips == 3) _close(id);
}
FAQ

Questions, answered.

Is OpenDCA custodial?+

No. Your funds stay in your wallet until each execution. You approve a spending allowance that the executor pulls from — only the amount, protocol fee, and gas cap for each due run. Nothing is ever deposited or held by the protocol.

What does it cost?+

A 0.1% protocol fee plus a 0.15% keeper fee, both on successful executions only. The protocol fee is hard-capped at 0.5% in the contract, and keeper reimbursement is paid in your input stablecoin up to a cap you set. Skipped runs cost nothing.

Which chains and assets are supported?+

Base is the V1 launch chain, with Arbitrum, Ethereum, and Robinhood Chain configured. Buy WETH, cbETH, or cbBTC on Base; on Robinhood Chain, DCA into tokenized stocks like TSLA, NVDA, and AAPL settled in USDG. You can also paste any custom token address on any chain — custom targets just can't use max-price protection.

What is a keeper?+

A permissionless bot that calls your scheduled execution when it's due. Anyone can run one — including you — and they're reimbursed gas up to your cap. You never depend on a single operator.

What happens if my balance is too low?+

That execution is skipped, not accumulated — there's no debt or catch-up. Three consecutive provable skips automatically close the DCA so nothing runs unexpectedly later.

Can I change or cancel a plan?+

Yes. Pause, resume, or cancel anytime, and edit the destination wallet, max price, slippage, and gas cap directly from your dashboard — all on-chain, all yours.

What is max-price protection?+

An optional on-chain check using Chainlink price feeds that only lets a buy execute when the asset is at or below your set price. It's available for curated assets with a reliable feed, not custom tokens.

Is it audited?+

Not yet. OpenDCA is an open-source starter implementation, not audited production code. Read the contracts, run the tests, and only use funds you're comfortable with while it matures.

Automate your stack. Keep your keys.

Your first DCA takes about a minute. No account, no deposit — just your wallet.

Launch app →