{
  "meta": {
    "last_updated": "2026-10-18",
    "schema_notes": "Percentages are percent of each buy (1.0 = 1%). null = not published or not verified on an official page; see the notes field. Frequency keys: hourly, daily, weekly, biweekly, semimonthly (1st and 15th), monthly. Boolean fields can also be 'partial' with a note. best_for is a short label based only on the verified features in this file (not a recommendation).",
    "verification": "Every non-null value was read from the source URL(s) listed for that app on last_checked. Nothing is estimated."
  },
  "apps": [
    {
      "id": "robinhood",
      "name": "Robinhood",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "$0 commission on stocks and ETFs",
      "spread_pct": null,
      "spread_text": "Not applicable / not published for stock orders",
      "min_buy_usd": null,
      "min_text": "Not stated on the recurring-investments help page",
      "frequencies": [
        "daily",
        "weekly",
        "biweekly",
        "monthly"
      ],
      "frequency_text": "Every market day, every week, every 2 weeks, or every month",
      "fractional": true,
      "etf_autobuy": true,
      "ira_support": true,
      "auto_withdraw": null,
      "notes": "Recurring orders are dollar-based (fractional). Stock/ETF recurring orders typically process between 11 AM ET and market close, batched per security. Leveraged, inverse and volatility ETPs are excluded. Recurring investments work in self-directed traditional and Roth IRAs.",
      "sources": [
        "https://robinhood.com/us/en/support/articles/recurring-investments/",
        "https://robinhood.com/us/en/support/articles/retirement-investing/",
        "https://robinhood.com/us/en/support/articles/trading-fees-on-robinhood/"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Stocks + crypto in one app"
    },
    {
      "id": "fidelity",
      "name": "Fidelity",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "Recurring investments are free; $0 commission for online US stock and ETF trades (a limited list of ETFs carries a $100 service fee)",
      "spread_pct": null,
      "spread_text": "Not applicable / not published",
      "min_buy_usd": 1,
      "min_text": "$1 to $100,000 per recurring stock/ETF/basket investment",
      "frequencies": null,
      "frequency_text": "You choose amount, frequency and day; the public page does not list the exact frequency options",
      "fractional": true,
      "etf_autobuy": true,
      "ira_support": true,
      "auto_withdraw": null,
      "notes": "Works in brokerage, traditional/rollover/Roth IRAs and HSAs. Paid from your Fidelity cash (core) position or a linked bank. Stock/ETF orders are placed as market orders on the investment date.",
      "sources": [
        "https://www.fidelity.com/trading/recurring-investments",
        "https://www.fidelity.com/trading/fractional-shares"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Any ETF, inside an IRA"
    },
    {
      "id": "schwab",
      "name": "Charles Schwab",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "$0 online commission for listed stocks and ETFs; $0 on OneSource mutual funds",
      "spread_pct": null,
      "spread_text": "Not applicable / not published",
      "min_buy_usd": 1,
      "min_text": "As little as $1 per Automatic Investment Plan (AIP) transaction (mutual funds); fractional shares from $1",
      "frequencies": [
        "weekly",
        "biweekly",
        "semimonthly",
        "monthly"
      ],
      "frequency_text": "AIP: weekly, every other week, twice a month, monthly, every 3 months, every 6 months, annual (mutual funds only)",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": null,
      "auto_withdraw": null,
      "notes": "Schwab's Automatic Investment Plan is for eligible mutual funds only. Schwab states 'only mutual funds are eligible for automatic investments', so a VOO-style ETF auto-buy is not available; an S&P 500 index mutual fund can be auto-bought instead. Fractional shares of most US-listed stocks and ETFs can be bought manually from $1. IRA eligibility for AIP was not confirmed on the pages checked.",
      "sources": [
        "https://www.schwab.com/content/how-to-automatically-invest-mutual-funds",
        "https://www.schwab.com/fractional-shares-stock-slices",
        "https://www.schwab.com/pricing"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Index mutual funds"
    },
    {
      "id": "vanguard",
      "name": "Vanguard",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "$0 online commission on ETFs and stocks (clients under $1M: $25 if broker-assisted)",
      "spread_pct": null,
      "spread_text": "Not applicable / not published",
      "min_buy_usd": 1,
      "min_text": "Vanguard ETFs from $1 with dollar-based trading",
      "frequencies": null,
      "frequency_text": "Not listed on the public pages checked",
      "fractional": "partial",
      "etf_autobuy": "partial",
      "ira_support": null,
      "auto_withdraw": null,
      "notes": "Recurring purchases are available into your Vanguard ETF positions; dollar-based (fractional) trading covers Vanguard mutual funds and Vanguard ETFs, not third-party ETFs. IRA support for recurring ETF buys was not confirmed on the pages checked.",
      "sources": [
        "https://investor.vanguard.com/investor-resources-education/etfs/etf-vs-mutual-fund",
        "https://investor.vanguard.com/investor-resources-education/article/what-is-dollar-based-investing",
        "https://investor.vanguard.com/client-benefits/investment-fees"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Vanguard ETFs"
    },
    {
      "id": "public",
      "name": "Public",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0.49,
      "monthly_fee_usd": 0,
      "fee_text": "Investment Plan fee per execution: $0.49 (1-3 symbols), $0.99 (4-10), $1.99 (11-20). Public Premium members are exempt.",
      "spread_pct": null,
      "spread_text": "Not applicable / not published",
      "min_buy_usd": 1,
      "min_text": "Orders below $1 per asset in a Plan are not executed",
      "frequencies": [
        "daily",
        "weekly",
        "biweekly",
        "monthly"
      ],
      "frequency_text": "Daily, weekly, biweekly or monthly",
      "fractional": true,
      "etf_autobuy": true,
      "ira_support": true,
      "auto_withdraw": null,
      "notes": "Recurring buys run through Investment Plans (up to 20 assets). The calculator uses the $0.49 tier (1-3 symbols, non-Premium). Public's IRA page says recurring IRA investments can stop once you hit the IRS limit.",
      "sources": [
        "https://help.public.com/en/articles/7260782-what-are-the-fees-for-investment-plans",
        "https://public.com/disclosures/investment-plans",
        "https://public.com/ira"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Plans with up to 20 assets"
    },
    {
      "id": "webull",
      "name": "Webull",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "No commission on US-listed stocks and ETFs (regulatory pass-through fees on sells)",
      "spread_pct": null,
      "spread_text": "Not applicable / not published",
      "min_buy_usd": 1,
      "min_text": "Fixed amount: $1 to $25,000 per setting (dynamic amount: from $2)",
      "frequencies": [
        "daily",
        "weekly",
        "biweekly",
        "monthly"
      ],
      "frequency_text": "Every trading day (fixed amounts only), weekly, every two weeks, monthly",
      "fractional": true,
      "etf_autobuy": true,
      "ira_support": true,
      "auto_withdraw": null,
      "notes": "Mobile app only. Works in cash, margin, IRA and joint accounts. Only fractional-eligible securities; inverse/leveraged/volatility ETFs excluded from dynamic plans. Orders placed around 1:30 PM ET.",
      "sources": [
        "https://www.webull.com/help/faq/10759",
        "https://www.webull.com/pricing"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Every-trading-day buys"
    },
    {
      "id": "sofi",
      "name": "SoFi Invest",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "Commission-free stock and ETF trading",
      "spread_pct": null,
      "spread_text": "Not applicable / not published",
      "min_buy_usd": 5,
      "min_text": "$5 minimum for a Self-Directed account before funds are invested (recurring-specific minimum not stated)",
      "frequencies": null,
      "frequency_text": "You choose the frequency; options not listed on the help pages checked",
      "fractional": true,
      "etf_autobuy": true,
      "ira_support": null,
      "auto_withdraw": null,
      "notes": "Recurring investments require a fractional-eligible stock/ETF. Bank-funded recurring buys are capped by your instant funding limit; from SoFi Checking/Savings up to $250,000 per recurring buy. IRA support for recurring buys not confirmed on the pages checked.",
      "sources": [
        "https://support.sofi.com/hc/en-us/articles/what-is-a-recurring-investment",
        "https://support.sofi.com/hc/en-us/articles/how-can-i-set-up-a-recurring-investment",
        "https://support.sofi.com/hc/en-us/articles/what-s-the-minimum-amount-to-invest",
        "https://support.sofi.com/hc/en-us/articles/are-there-any-fees-for-trading-stocks-and-etfs"
      ],
      "last_checked": "2026-10-18",
      "best_for": "SoFi Checking users"
    },
    {
      "id": "m1",
      "name": "M1",
      "category": "etf",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 3,
      "fee_text": "Commission-free trading, but a $3/month Platform Fee (or $3 IRA Fee) unless you hold $10,000+ at M1 or have an active M1 Personal Loan",
      "spread_pct": null,
      "spread_text": "Not applicable / not published",
      "min_buy_usd": 25,
      "min_text": "Auto-invest triggers when cash is at least $25 above your chosen minimum",
      "frequencies": null,
      "frequency_text": "Cash-triggered: Auto-invest buys whenever $25+ of available cash builds up, rather than on a fixed buy schedule",
      "fractional": null,
      "etf_autobuy": true,
      "ira_support": true,
      "auto_withdraw": null,
      "notes": "Auto-invest is on by default and buys into your Pie, prioritizing the most underweight slices. The calculator adds the $3/month fee (not waived) to M1's yearly cost.",
      "sources": [
        "https://help.m1.com/en/articles/9331969-how-much-does-it-cost-to-use-m1",
        "https://help.m1.com/en/articles/9332100-using-auto-invest-on-m1"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Target-allocation pies"
    },
    {
      "id": "strike",
      "name": "Strike",
      "category": "btc",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "0% on recurring purchases after the first week (weekly/monthly: from the 2nd purchase). Other buys: 0.89% and down by monthly volume.",
      "spread_pct": 0.22,
      "spread_text": "Targets an all-in spread of 0.22% (actual may be higher or lower)",
      "min_buy_usd": 0.01,
      "min_text": "$0.01 to $2.5M per buy, any mode",
      "frequencies": [
        "hourly",
        "daily",
        "weekly",
        "monthly"
      ],
      "frequency_text": "Hourly, daily, weekly, monthly",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": null,
      "auto_withdraw": true,
      "notes": "Bitcoin only. Auto-withdrawal sends your whole available balance once it hits a threshold between 0.01 and 5 BTC, with no fee. Personal accounts only for the fee waiver.",
      "sources": [
        "https://strike.me/support/what-are-the-trading-fees/",
        "https://strike.me/buy/",
        "https://strike.me/faq/what-are-bitcoin-auto-withdrawals/"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Hourly buys from $0.01"
    },
    {
      "id": "river",
      "name": "River",
      "category": "btc",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "0% on recurring buys from day 8 (daily/hourly) or from the 2nd order (other frequencies); the first order pays the standard 1%",
      "spread_pct": null,
      "spread_text": "River says prices may include a spread; the size is not published on the fee page",
      "min_buy_usd": 10,
      "min_text": "Bank-funded: $0.25 hourly, $1 daily, $10 weekly/biweekly/monthly. From River cash: $1 for weekly and longer",
      "frequencies": [
        "hourly",
        "daily",
        "weekly",
        "biweekly",
        "semimonthly",
        "monthly"
      ],
      "frequency_text": "Hourly, daily, weekly, bi-weekly, 1st and 15th, monthly",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": null,
      "auto_withdraw": true,
      "notes": "Bitcoin only. Auto-withdrawal threshold from 0.005 BTC; network fee capped at 3% (waits until fees drop). Free automatic conversion of payroll direct deposits up to $30,000/month.",
      "sources": [
        "https://support.river.com/hc/en-us/articles/50055900679315-What-are-River-s-fees",
        "https://support.river.com/hc/en-us/articles/50061352349715-What-are-recurring-buys",
        "https://support.river.com/hc/en-us/articles/50085216806163-What-are-bitcoin-auto-withdrawals"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Most schedule options"
    },
    {
      "id": "cash-app",
      "name": "Cash App",
      "category": "btc",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "0% fee on Auto Invest",
      "spread_pct": 0,
      "spread_text": "Spread-free on Auto Invest (Cash App's own fee page)",
      "min_buy_usd": 1,
      "min_text": "$1 minimum for Auto Invest",
      "frequencies": [
        "daily",
        "weekly",
        "biweekly",
        "monthly"
      ],
      "frequency_text": "Daily, weekly, every two weeks, monthly",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": null,
      "auto_withdraw": null,
      "notes": "Market buys outside Auto Invest cost 0% to 2% depending on size, plus up to 0.75% spread. Free standard-speed bitcoin withdrawals (minimum 100,000 sats per the fee page). No automatic withdrawal feature found on the pages checked.",
      "sources": [
        "https://cash.app/bitcoin/fees",
        "https://cash.app/help/us/en-US/31091-auto-invest"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Lowest published cost"
    },
    {
      "id": "coinbase",
      "name": "Coinbase",
      "category": "btc",
      "fee_pct": null,
      "flat_fee_usd": null,
      "monthly_fee_usd": 0,
      "fee_text": "Not published as a fixed rate. Coinbase says fees depend on payment method, order size, market conditions, location and asset, and are shown in the trade preview.",
      "spread_pct": null,
      "spread_text": "Simple buys include a spread shown in the order preview; size not published",
      "min_buy_usd": null,
      "min_text": "Not stated on the recurring-buys help page",
      "frequencies": [
        "weekly",
        "semimonthly",
        "monthly"
      ],
      "frequency_text": "Weekly, 1st and 15th of the month, monthly",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": null,
      "auto_withdraw": null,
      "notes": "Setting up a recurring buy also runs an immediate one-time buy for the same amount. You can't edit amount or frequency later; you cancel and recreate. Coinbase One can waive standard trading fees but not the spread (per Coinbase One disclosures; not re-verified).",
      "sources": [
        "https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-can-i-create-or-cancel-a-recurring-transaction",
        "https://help.coinbase.com/en/coinbase/trading-and-funding/pricing-and-fees/fees"
      ],
      "last_checked": "2026-10-18",
      "best_for": null
    },
    {
      "id": "kraken",
      "name": "Kraken",
      "category": "btc",
      "fee_pct": 1.0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "Fixed 1% trading fee on Instant Buy services, which include recurring purchases (waived for Kraken+ members on up to $10,000/month)",
      "spread_pct": null,
      "spread_text": "The price includes a spread; size not published",
      "min_buy_usd": null,
      "min_text": "Not stated on the recurring-orders help page",
      "frequencies": [
        "daily",
        "weekly",
        "biweekly",
        "monthly"
      ],
      "frequency_text": "Daily, weekly, biweekly, monthly",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": null,
      "auto_withdraw": null,
      "notes": "Recurring orders are not available on Kraken Pro. Payment-method fees may also apply (card, Apple/Google Pay, ACH on app). The exact fee is shown on the final confirmation page.",
      "sources": [
        "https://support.kraken.com/articles/recurring-orders",
        "https://support.kraken.com/articles/360060101312-faq-s-about-buying-instantly",
        "https://support.kraken.com/articles/360030303832-overview-of-fees-on-kraken"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Kraken+ members"
    },
    {
      "id": "gemini",
      "name": "Gemini",
      "category": "btc",
      "fee_pct": null,
      "flat_fee_usd": null,
      "monthly_fee_usd": 0,
      "fee_text": "Not published as a fixed rate. Gemini says fees vary by payment method, order size, market conditions, jurisdiction and asset, and are shown before you confirm.",
      "spread_pct": null,
      "spread_text": "Recurring orders include a spread in the quoted price; size not published",
      "min_buy_usd": null,
      "min_text": "Not stated on the recurring-buy help page",
      "frequencies": null,
      "frequency_text": "You choose a frequency; options not listed on the help page",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": null,
      "auto_withdraw": null,
      "notes": "Recurring buys are not available on ActiveTrader. The first order executes immediately when you confirm.",
      "sources": [
        "https://www.gemini.com/fees/gemini-fee-schedule",
        "https://support.gemini.com/hc/en-us/articles/360020827411-What-is-a-recurring-buy"
      ],
      "last_checked": "2026-10-18",
      "best_for": null
    },
    {
      "id": "swan",
      "name": "Swan Bitcoin",
      "category": "btc",
      "fee_pct": 1.0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "1% on buys (no buy fee on a new client's first $250). Fee is charged to your bank, not your bitcoin.",
      "spread_pct": null,
      "spread_text": "Not published on the fee pages checked",
      "min_buy_usd": 10,
      "min_text": "$10 minimum for all recurring plans",
      "frequencies": [
        "daily",
        "weekly",
        "monthly"
      ],
      "frequency_text": "Daily, weekly, monthly (no hourly or biweekly)",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": true,
      "auto_withdraw": true,
      "notes": "Bitcoin only. Swan Safe custody costs 0.03% of balance per month, waived when bitcoin auto-withdrawal is enabled. Swan IRA available: 0.02% of assets per month, $20 minimum.",
      "sources": [
        "https://help.swanbitcoin.com/hc/en-us/articles/360045394134-What-are-Swan-Bitcoin-s-fees",
        "https://help.swanbitcoin.com/hc/en-us/articles/4404293314327-What-are-the-frequency-options-for-recurring-purchasing-plans",
        "https://www.swanbitcoin.com/fees/"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Bitcoin IRA"
    },
    {
      "id": "robinhood-crypto",
      "name": "Robinhood Crypto",
      "category": "btc",
      "fee_pct": 0,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "No commission with default market-maker routing. Optional exchange routing charges 0.00%-0.95% by 30-day volume (taker 0.95% under $10K).",
      "spread_pct": 0.95,
      "spread_text": "Robinhood says it receives $0.95 per $100 from market makers and that amount is included in the spread, so the spread on default orders is at least about 0.95% (its own example shows 0.96%)",
      "min_buy_usd": null,
      "min_text": "Not stated on the recurring help page",
      "frequencies": null,
      "frequency_text": "Crypto recurring orders process around 5:30-7:00 PM ET; frequency options for crypto not listed separately",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": false,
      "auto_withdraw": null,
      "notes": "Recurring crypto orders are limit orders collared 1% above the last price, so they can be skipped in a fast move. Robinhood Crypto products are not available in Robinhood IRAs. The calculator uses the 0.95% spread floor for default routing.",
      "sources": [
        "https://robinhood.com/us/en/support/articles/recurring-investments/",
        "https://robinhood.com/us/en/support/articles/crypto-order-routing/",
        "https://cdn.robinhood.com/assets/robinhood/legal/rhc-fee-schedule.pdf",
        "https://robinhood.com/us/en/support/articles/retirement-investing/"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Existing Robinhood users"
    },
    {
      "id": "public-crypto",
      "name": "Public (crypto)",
      "category": "btc",
      "fee_pct": 1.25,
      "flat_fee_usd": 0,
      "monthly_fee_usd": 0,
      "fee_text": "1.25% of the crypto order amount on recurring Investment Plan purchases (charged by zerohash)",
      "spread_pct": null,
      "spread_text": "Not published on the pages checked",
      "min_buy_usd": 1,
      "min_text": "Orders below $1 per asset in a Plan are not executed",
      "frequencies": [
        "daily",
        "weekly",
        "biweekly",
        "monthly"
      ],
      "frequency_text": "Daily, weekly, biweekly or monthly",
      "fractional": true,
      "etf_autobuy": false,
      "ira_support": true,
      "auto_withdraw": null,
      "notes": "Crypto is executed and held by zerohash. Public's IRA page lists crypto among IRA assets; recurring crypto inside an IRA plan was not separately confirmed.",
      "sources": [
        "https://help.public.com/en/articles/7260782-what-are-the-fees-for-investment-plans",
        "https://public.com/disclosures/investment-plans",
        "https://public.com/ira"
      ],
      "last_checked": "2026-10-18",
      "best_for": "Crypto inside a stock plan"
    }
  ]
}