Skip to content

BryanFrontend/bolt

Repository files navigation

 ██████╗  ██████╗ ██╗  ████████╗
 ██╔══██╗██╔═══██╗██║  ╚══██╔══╝
 ██████╔╝██║   ██║██║     ██║   
 ██╔══██╗██║   ██║██║     ██║   
 ██████╔╝╚██████╔╝███████╗██║   
 ╚═════╝  ╚═════╝ ╚══════╝╚═╝   

A $1,000 memecoin trading experiment. Fully logged. Fully open.

Python License X / Twitter Status


What is Bolt?

Bolt is a transparent, self-contained trading experiment built around a fixed $1,000 wallet.

It does not use trading bots, APIs, or automated execution. Every trade is manually entered via CLI and logged to a flat CSV. Every position is tracked in a local JSON file. The point is visibility — knowing exactly where the money is, how it got there, and what the portfolio looks like at any given moment.

The experiment started with three memecoin positions:

Token Entry Price Capital Allocated
PENGUIN $0.00012 $326
WHITEWHALE $0.00031 $339
WOJAK $0.000087 $335

All positions are tracked in data/wallet.json. All trades are appended to data/trades.csv.


How the Experiment Works

┌─────────────────────────────────────────────────────────┐
│                                                         │
│   $1,000 STARTING CAPITAL                               │
│        │                                                │
│        ▼                                                │
│   ┌─────────┐    run.py buy TOKEN 300                   │
│   │  CLI    │ ──────────────────────► core/trader.py    │
│   └─────────┘                              │            │
│                                            ▼            │
│                                    core/wallet.py       │
│                                    (state manager)      │
│                                            │            │
│                          ┌─────────────────┤            │
│                          ▼                 ▼            │
│                   data/wallet.json   data/trades.csv    │
│                   (positions)        (full history)     │
│                                                         │
└─────────────────────────────────────────────────────────┘

Every command flows through run.pycore/trader.pycore/wallet.py. The wallet file stores live state. The trades CSV stores an append-only history. Nothing is ever overwritten — only appended.


Architecture

bolt/
│
├── run.py                  ← CLI entrypoint (all commands go here)
│
├── core/
│   ├── wallet.py           ← Load, save, mutate wallet state
│   ├── portfolio.py        ← Compute metrics, validate trades
│   └── trader.py           ← Execute buys and sells
│
├── config/
│   └── settings.py         ← Constants: capital, max position size, flags
│
├── data/
│   ├── wallet.json         ← Live wallet state (positions + balance)
│   └── trades.csv          ← Append-only trade log
│
└── utils/
    └── logger.py           ← CSV writer for trade history

Data Flow

run.py buy WOJAK 300
        │
        ▼
core/trader.py → execute_buy()
        │
        ├── core/portfolio.py → validate_trade()
        │       Checks: sufficient balance? within max position size?
        │
        ├── core/wallet.py → add_position()
        │       Updates wallet.json (deducts balance, appends position)
        │
        └── utils/logger.py → log_trade()
                Appends row to trades.csv

Setup

Requirements: Python 3.11+

git clone https://github.com/BryanFrontend/bolt.git
cd bolt
pip install -r requirements.txt

CLI Commands

Show Portfolio Dashboard

python run.py
# or
python run.py portfolio

Output:

 ██████╗  ██████╗ ██╗  ████████╗
 ...

╭──────────────── ⚡ BOLT WALLET ─────────────────╮
│ Starting Capital:  $1,000.00                    │
│ Available Balance: $0.00                        │
│ Total Invested:    $1,000.00                    │
│ Total Value:       $1,000.00                    │
│ PnL:               $0.00                        │
╰─────────────────────────────────────────────────╯

          Open Positions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Token         Invested   Entry Price   Alloc%   Date
──────────────────────────────────────────────────
PENGUIN       $326.00    $0.00012000   32.6%    2026-03-09
WHITEWHALE    $339.00    $0.00031000   33.9%    2026-03-09
WOJAK         $335.00    $0.00008700   33.5%    2026-03-09

Buy a Token

python run.py buy PENGUIN 300
Executing BUY — PENGUIN — $300.00
✓ Bought $300.00 of PENGUIN. Remaining balance: $700.00

Sell a Token

# Close full position
python run.py sell WOJAK

# Partial close
python run.py sell WOJAK 150

View Trade History

python run.py trades
                       Trade History
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Timestamp              Token       Side   Amount     Balance
───────────────────────────────────────────────────────────
2026-03-09T00:00:00Z   PENGUIN     BUY    $326.00    $674.00
2026-03-09T00:00:00Z   WHITEWHALE  BUY    $339.00    $335.00
2026-03-09T00:00:00Z   WOJAK       BUY    $335.00    $0.00

Config

config/settings.py

STARTING_CAPITAL = 1000       # Fixed starting balance
MAX_POSITION_SIZE = 0.35      # Max 35% of capital per trade
LOG_TRADES = True             # Toggle CSV logging on/off

Bolt enforces MAX_POSITION_SIZE on every buy. If you try to put more than 35% into a single token, the trade is rejected before it touches the wallet.


Wallet State

data/wallet.json

{
  "starting_balance": 1000,
  "available_balance": 0,
  "positions": [
    {
      "token": "PENGUIN",
      "amount_usd": 326,
      "entry_price": 0.00012,
      "timestamp": "2026-03-09"
    }
  ],
  "trade_history": [...]
}

Trade Log

data/trades.csv

timestamp,token,amount_usd,price,side,wallet_balance
2026-03-09T00:00:00Z,PENGUIN,326,0.00012,BUY,674
2026-03-09T00:00:00Z,WHITEWHALE,339,0.00031,BUY,335
2026-03-09T00:00:00Z,WOJAK,335,0.000087,BUY,0

The CSV is append-only. Nothing is ever deleted. Every state change leaves a record.


Why This Exists

Memecoin trading is mostly noise. The goal of Bolt is to cut through that by forcing discipline through constraints:

  • Fixed capital. No reloading.
  • Max 35% per position. No all-ins.
  • Every trade logged. No selective memory.
  • Public repository. No hiding the losses.

The experiment runs until the wallet hits zero or until it makes something meaningful. Either way, the data is here.


Follow the Experiment

Updates, new positions, and commentary posted on X.

@BryanFrontend


License

MIT. Use it, fork it, run your own version.


Built by @BryanFrontend

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages