DOCS / RECURRING BUYS

Recurring buys: one tap per buy, or none at all

Say “buy $10 of ETH every week” and Yeetful keeps a schedule. What happens when a buy comes due depends on your wallet: every wallet gets confirm-mode — the buy is built fresh and waits for your signature, one tap. Smart wallets can go further and arm autopilot — one signature caps the spend on-chain, and each period the buy executes itself. Your keys never leave your wallet in either tier.

Confirm-mode — every wallet, you sign each buy

This is the default, and it works with any wallet: MetaMask, Coinbase Wallet, an embedded email wallet, hardware — anything that can sign. The schedule is a standing reminder with a transaction attached:

  • Each period is built fresh. When a buy is due, chat and the rail show a one-tap chip. Tapping it builds the swap at that moment — live quote, the same venue cascade and guardrails as any Yeetful swap — and your wallet signs it. Nothing is pre-built, so nothing goes stale.
  • Missed periods lapse. Skip a week and it’s simply skipped — no catch-up buys, no queued spends.
  • No double buys, ever. Each calendar period (UTC day / week / month) can produce exactly one buy — enforced by a uniqueness claim in the schedule store, so racing tabs or repeat taps converge on one transaction.

Try it: buy $25 of ETH weekly on Base · buy $10 of AAPL weekly on Robinhood Chain · then list my dcas, pause, or cancel any time.

Autopilot — smart wallets, zero taps

On Base, a schedule owned by a smart wallet (a wallet that is itself a contract — e.g. Coinbase Smart Wallet) can be armed: “make my ETH dca autonomous”. Arming is one EIP-712 signature over a Spend Permission — and the signature is the entire grant. It says, precisely:

FieldWhat it pins
AllowanceExactly your per-period amount — a $10/week schedule signs a $10-per-week cap. Not a balance approval, not “unlimited”.
PeriodYour cadence window (day / week / month) — the cap resets on that clock and never stacks.
TokenThe chain’s canonical USDC — the spend side only. Nothing else is touchable.
SpenderOne named Yeetful executor address. No one else can use the permission.
ExpiryOne year — permissions are never signable-forever; re-arm to continue.

The crucial part: that cap is enforced by your wallet’s own contract (Coinbase’s audited SpendPermissionManager), on-chain. If Yeetful’s servers were compromised tomorrow, the attacker’s ceiling would still be your $10 this week — and you can revoke the permission from your wallet at any moment, no Yeetful involvement required.

What an autopilot buy actually does

  1. Build first, money later. The hourly sweep builds the swap with a live quote, then an independent guard re-decodes the raw calldata: exact pull amount, USDC in, your schedule’s token out, the registry-pinned router, and the output recipient must be your wallet. Any mismatch refuses the run — before anything is pulled.
  2. Pull exactly the allowance. The executor pulls your $X of USDC through the permission — the contract refuses anything more.
  3. Swap, output straight to you. The bought token lands in your wallet, never in Yeetful’s. A receipt row appears in your rail — same as a buy you signed yourself.

Buys route through the same venues and carry the same visible 0.20% fee as any Yeetful swap. If you buy a period manually, autopilot notices and stands down — no double buys across tiers either. The kill switch pauses pulls instantly, and “turn off autopilot” drops the schedule back to confirm-mode (the on-chain permission stays yours to revoke).

Why EOAs can’t autopilot (yet) — the honest version

A regular wallet (an EOA — MetaMask, a hardware wallet, an embedded email wallet) has exactly one credential: its private key. There is no such thing as delegating part of an EOA — any key or session that can sign a $10 swap can sign a full-balance transfer. So “let Yeetful buy for me” from an EOA would mean Yeetful holding a key to everything, which is custody with extra steps. We don’t do that — it’s the same reason the Guardian only works on Hyperliquid, where the venue itself scopes delegated keys to trading-only.

A smart wallet is different structurally: it’s a contract, so it can enforce rules about who may move what, how much, and how often — without ever exposing a key. That contract-shaped permission is exactly what autopilot rides.

EOA (MetaMask & friends)Smart wallet (Coinbase Smart Wallet)
Recurring buys✓ confirm-mode — one tap per buy✓ confirm-mode and autopilot
Who signs each buyYou, every periodArmed: nobody — the permission covers it
What Yeetful can spendNothing, ever, without your signatureAt most $X per period, contract-enforced
Emergency exitJust don’t signRevoke on-chain / kill switch / “turn off autopilot”

The gap is closing from the EOA side: EIP-7702 (live since Ethereum’s Pectra upgrade) lets an EOA adopt smart-account code — MetaMask already offers the upgrade — at which point the same permission model applies. Support for 7702-upgraded wallets is on the roadmap; today, if you arm from an EOA, chat will tell you exactly this instead of pretending.

Quick answers

  • What if an autopilot buy fails? The failure is recorded on the schedule (the rail badges it — that’s the only time autopilot nags you), nothing retries into a second pull that period, and the next period starts clean.
  • Can I still buy manually while armed? Yes — your manual buy wins the period and autopilot defers.
  • Which chains? Confirm-mode: Base, Ethereum, Arbitrum, Robinhood Chain. Autopilot: Base first (it’s where the Spend Permission contract and deep USDC liquidity live); tokenized-stock autopilot on Robinhood Chain is on the roadmap.
  • Where do I watch it? The Jobs tab in the chat rail shows every schedule and its receipts; each buy also lands in your dashboard history.

Start one now: buy $10 of ETH every week — then, if your wallet qualifies, make it autonomous.