DEV Community

Paarthurnax
Paarthurnax

Posted on

I Built a Crypto Trading Agent for 0 Per Month - Heres Exactly How

Disclaimer: Not financial advice. All trading examples use paper trading / simulation only. Crypto is extremely volatile and speculative. You can lose 100% of your investment.


I was paying $47/month for a cloud crypto trading bot.

It was fine. Not great. The UI was polished, the strategy builder was flexible, and the customer support was responsive.

But I kept asking myself: why am I paying $47/month for something Python could do for free?

So I built it. Spent two weekends writing the core system, another month paper trading with it, and now it's been running for six months with exactly $0 in recurring costs.

Here's the full breakdown.

The $47/Month Problem

Cloud trading bots charge you for:

  • Compute time (running your strategy on their servers)
  • API management (they handle your exchange connections)
  • Monitoring (keeping your bot alive 24/7)
  • The platform/UI itself

The dirty secret: all of this is free if you own the infrastructure.

Your laptop runs Python for free. CoinGecko has a free tier. Ollama runs LLMs locally for free. Exchange APIs are free (with rate limits). Telegram bots are free.

The only thing a paid cloud bot provides that you can't replicate at home is:

  1. 24/7 uptime (unless your laptop is always on)
  2. A pretty dashboard

For beginners who are still paper trading and learning? Neither of those matters yet.

My Free Stack

Here's everything I use, with costs:

Tool Purpose Monthly Cost
Python 3.12 Core scripting $0
Ollama + Llama3.2 Local AI analysis $0
CoinGecko API (free tier) Market data (50 calls/min) $0
OpenClaw Agent orchestration $0
Telegram Bot API Alerts to my phone $0
SQLite Trade journal / history $0
GitHub Pages Skills hub hosting $0
TOTAL $0/month

The only cost is electricity for keeping my laptop on, which is trivial.

The Core Architecture

My system has four components:


              CRYPTOCLAW AGENT               

  [Data Layer]   [Analysis Layer]            
  CoinGecko API  Ollama/Llama3              

  [Journal Layer] [Alert Layer]              
    SQLite DB    Telegram Bot               

Enter fullscreen mode Exit fullscreen mode

Data Layer: Fetches prices, volumes, and market caps from CoinGecko every 15 minutes.

Analysis Layer: Feeds the data to a local Llama3 model with a carefully crafted system prompt. The LLM returns structured analysis including sentiment, key levels, and paper trade ideas.

Journal Layer: Every analysis gets logged to SQLite with the market conditions, AI output, and timestamp. After 90 days I had 8,640 data points.

Alert Layer: When the AI identifies a "strong" signal (as defined by my criteria), it sends a Telegram message to my phone. I wake up to "BTC potential paper buy at $X based on volume surge" without ever checking a screen.

The Telegram Integration (Free Alerts)

This is the piece most tutorials skip. Creating a free Telegram alert bot takes 5 minutes:

  1. Message @BotFather on Telegram
  2. Type /newbot, follow the prompts
  3. Copy the API token
  4. Get your chat ID from @userinfobot

Then in Python:

import requests

TELEGRAM_TOKEN = "your_bot_token"
TELEGRAM_CHAT_ID = "your_chat_id"

def send_alert(message):
    """Send a Telegram alert."""
    url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
    requests.post(url, json={
        "chat_id": TELEGRAM_CHAT_ID,
        "text": message,
        "parse_mode": "HTML"
    })

# Example usage
send_alert("""
 <b>CryptoClaw Paper Signal</b>

<b>BTC/USD</b>  Potential Paper Entry
 Price: $84,200
 24h Change: +3.2%
 Volume: $42B (above 30d avg)

 <i>AI Analysis:</i>
Bullish momentum building. Volume spike suggests institutional interest.
Paper trade idea: Buy at market, target +8%, stop at -4%.

 PAPER TRADE ONLY  Not financial advice
""")
Enter fullscreen mode Exit fullscreen mode

Free. Instant. No app to check.

The AI Signal Logic

Here's the prompt structure that generates my alerts:

SIGNAL_PROMPT = """
You are a conservative crypto market analyst. 
Analyze the following data and determine if there is a paper trade signal.

Market Data:
{market_data}

Historical Context:
{recent_history}

Criteria for a STRONG signal:
- Price is at a significant technical level (support/resistance)
- Volume is above 20-day average by >30%
- 24h change is notable (>3% or <-3%)
- Trend direction is clear

Return your analysis in this exact format:
SIGNAL: [STRONG/WEAK/NONE]
DIRECTION: [LONG/SHORT/NONE]
REASONING: [2-3 sentence explanation]
PAPER_ENTRY: [price or NONE]
PAPER_TARGET: [% gain or NONE]
PAPER_STOP: [% loss or NONE]
CONFIDENCE: [LOW/MEDIUM/HIGH]

Remember: This is for paper trading education only. Not financial advice.
"""
Enter fullscreen mode Exit fullscreen mode

I parse the structured output with simple string matching. When SIGNAL: STRONG appears, the alert fires.

After six months, I've learned:

  • My signal criteria correctly identified bullish moves ~52% of the time
  • Strong signals were right 61% of the time
  • Weak signals were basically noise

That 52% overall isn't good enough for real trading. But it's data. Real data that tells me exactly where to refine the strategy before risking real money.

What Took Me Two Weekends vs. What Took Two Months

Two weekends to build:

  • Basic price fetcher
  • Ollama integration
  • Telegram bot
  • SQLite logging
  • Scheduling (runs automatically)

Two months to get right:

  • Prompt engineering (getting the AI to give consistent structured output)
  • Signal criteria calibration (what constitutes "strong"?)
  • Backtesting against historical data
  • Reducing false positives in alerts

The code is the easy part. The signal quality is the hard part.

The Paper Trading Results

Six months of paper trading with the free system:

Metric Result
Paper trades executed 47
Win rate 53.2%
Average gain (winners) +6.8%
Average loss (losers) -4.1%
Net paper P&L +$1,247 on $10,000 virtual
System uptime ~94% (laptop restarts)

A 12.47% paper return in 6 months is... okay. Not amazing. But it's positive, and more importantly, it's real data I can analyze.

Month 5-6 was more profitable than month 1-4 as I refined the signals. That's the point of paper trading: iterate cheaply.

The Only Real Limitation: Uptime

Cloud bots win on one thing: they run 24/7 even when your laptop is off.

For a paper trading learner, this doesn't matter. You're not missing real money you're just missing data points.

When you're ready for live trading and need 24/7 uptime, the cheapest option is:

  • A $5/month VPS (DigitalOcean, Hetzner, Linode)
  • Run your Python agent there
  • Same code, tiny hosting cost

Even then: $5/month vs $47/month is a significant saving for exactly the same functionality.

Get the Full System

I packaged everything the complete scripts, database schema, Telegram integration, signal logic, and paper trading journal into the CryptoClaw guide.

CryptoClaw Guide Build Your Own Free Local Crypto Agent

If you're an OpenClaw user, the individual skills are also available:
CryptoClaw Skills Hub


The Bottom Line

You don't need to pay $47/month for a crypto bot. You need:

  1. Python (free)
  2. Ollama + a local LLM (free)
  3. A free market data API (free)
  4. 90 days of paper trading patience

The cost of building it yourself is time, not money. And you'll learn 10x more by building it than by clicking around in someone else's dashboard.

Start free. Start local. Paper trade first. Always.


  • Not financial advice. Paper trading simulation only. Never invest more than you can afford to lose completely. This is educational content.*

Top comments (0)