Quiver automates crypto buys on Robinhood through Robinhood's official Crypto Trading API. It runs on your own computer, follows rules you set in a config file, and never spends past the limits you give it. Start with a few dollars or run it at whatever size your caps allow; nothing in the code forces "small," so the amounts are your choice. The code is open source under the MIT license.
Quiver has no secret edge, and it will not make you rich. We checked. Scheduled buying, buying dips, and buying more on bigger dips were all tested against real price history, and none of them beat simply buying and holding once trading costs are counted. Crypto can fall a long way and stay down.
What Quiver is good for is narrow: putting fixed amounts into a few coins on a schedule or on dips, automatically, with tight guardrails and a clear record of every trade. It scales to whatever you configure, but the rule is the same at any size: use only money you can afford to lose completely, and do not size up because a run looks like it is working. If your goal is to grow savings, an ordinary index fund has a real expected return and this does not.
If that is clear, read on.
Quiver watches a short list of coins you pick and buys small amounts using one of two simple rules:
- Scheduled buying: a fixed dollar amount on a fixed interval (plain dollar-cost averaging).
- Dip buying: a fixed amount, sized up the further the price is below its recent average, with a cooldown between buys.
It only ever buys. It does not sell on signals, use margin or leverage, or trade anything but spot. Every order is written to a local database, and it can email you whenever a real purchase happens.
Whether an order comes from the automation or from you placing one by hand, it passes the same checks:
- Nothing is real until you turn on live trading. The default is a dry run that only simulates orders and touches no money.
- Spending caps you set: a limit per order, per day, and per coin.
- It skips a trade when the bid/ask spread is too wide, when the price quote is stale, or when Robinhood's price disagrees too much with an outside reference (CoinMarketCap).
- A kill switch stops everything at once and stays in effect across restarts.
- Only one copy can run at a time, so two processes cannot quietly double your daily limit.
- Dry-run and live use separate databases, so paper testing never touches your live records.
- Python 3.11 or newer, on Windows, macOS, or Linux.
- A Robinhood account with the Crypto Trading API turned on, plus an API key (steps below).
- A few minutes to set the config.
- Get the code and open the folder:
git clone <your-repo-url> quiver cd quiver - Create a virtual environment and install the dependencies:
python -m venv .venv .venv\Scripts\activate # Windows source .venv/bin/activate # macOS / Linux pip install -r requirements.txt - Copy the example config and secrets files, then edit your copies:
Use
copy config.example.toml config.toml # Windows copy .env.example .envcpinstead ofcopyon macOS/Linux. - Make an API key:
It prints a public key and a private key. Add the public key to Robinhood's API credentials page, then paste the private key and your Robinhood API key into
python -m quiver.cli keygen.env. Never share or commit.env. - Open
config.tomland set your coins, amounts, and spending caps. The defaults are small on purpose; raise the caps and amounts when you want to size up. - Run it in dry-run first and watch it. No real orders happen:
python -m quiver.cli run - When you are ready for real orders, add
--live:Stop it with Ctrl-C, or from another terminal withpython -m quiver.cli run --livepython -m quiver.cli kill.
run/run --live: start the engine, dry-run or live.web/web --live: open a local dashboard to watch and control it.status: show your account, holdings, and how much of the daily cap is used.quote SYMBOL: print the current bid and ask.backfill/backtest: download free historical prices and compare buying approaches.test-email: send yourself a sample purchase email (needs a Brevo API key).kill/resume: engage or clear the kill switch.
python -m quiver.cli web serves a page at http://127.0.0.1:8787 that is reachable
only from your own machine. It shows quotes, holdings, recent orders, the daily-cap
usage, and how far each coin sits below its recent averages. You can start or stop
the engine, place a manual order, and hit the kill switch. The mode, dry-run or
live, is fixed by how you launch it, not by a button.
You can start it on login with Windows Task Scheduler; see scripts/run-quiver.ps1
and the comments there. The simplest setup is one process that does both:
quiver web --live --start runs the engine and serves the dashboard together, so
you can open http://127.0.0.1:8787 anytime to watch or control it (use web --start without --live for dry-run). You cannot run a separate run and web
at once; they share a single-instance lock. Stop it with the kill switch or
Ctrl-C rather than force-killing the process, so its records stay consistent.
If you set a Brevo API key and a verified sender, Quiver emails you the full details of every real purchase. It is off by default. The sending domain has to be verified in your Brevo account or the emails will not arrive.
Quiver is provided as is, with no warranty, under the MIT license (see LICENSE).
It is not financial advice. You are responsible for your own money, for any order
it places, and for following Robinhood's API terms and the laws where you live.
Crypto trading loses money for many people. Only run this with funds you are
prepared to lose.