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:
| Field | What it pins |
|---|---|
| Allowance | Exactly your per-period amount — a $10/week schedule signs a $10-per-week cap. Not a balance approval, not “unlimited”. |
| Period | Your cadence window (day / week / month) — the cap resets on that clock and never stacks. |
| Token | The chain’s canonical USDC — the spend side only. Nothing else is touchable. |
| Spender | One named Yeetful executor address. No one else can use the permission. |
| Expiry | One 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
- 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.
- Pull exactly the allowance. The executor pulls your $X of USDC through the permission — the contract refuses anything more.
- 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 buy | You, every period | Armed: nobody — the permission covers it |
| What Yeetful can spend | Nothing, ever, without your signature | At most $X per period, contract-enforced |
| Emergency exit | Just don’t sign | Revoke 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.