Cover photo

ClaudeCode: The Ultimate Agentic Trader

Railway, docker template , CLI Tooling , to Trade everything, anywhere!

TL;DR : ttc.box allows trading on any CEX | DEX Perp instruments with AI Agents,
Host ClaudeCode on RailWay, download CLI, and begin agentic trading.

The only solution that doesn't cost you an arm and leg. Use your existing Claude Pro or Max plan.

Deploy to Railway

repo : https://github.com/Ntelikatos/claude-code-ssh

Step 1: Deploy the Template

Deploy on Railway

Click the button above, or manually create a project on railway.com and deploy from this GitHub repo.

Step 2: Set Your SSH Public Key

In Railway dashboard, go to your service Variables and add:

Variable

Value

SSH_PUBLIC_KEY

Your public key (see below for how to get it)

From desktop — copy your existing key:

cat ~/.ssh/id_ed25519.pub

From mobile (Termius) — generate a new key:

  1. Open Termius > Keychain > Keys > + > Generate

  2. Select Ed25519, give it a name, save

  3. Tap the key > Export public key > copy the text

Using multiple devices? Paste all public keys into SSH_PUBLIC_KEY, one per line:

ssh-ed25519 AAAA...laptop-key... you@laptop
ssh-ed25519 AAAA...phone-key... mobile

Step 3: Enable TCP Proxy

  1. Go to your service Settings > Networking

  2. Under TCP Proxy, click Enable on port 22

  3. Railway assigns you a domain and port, e.g. shuttle.proxy.rlwy.net:15140

Save these — you need them to connect.

Step 4: Create and Attach a Volume

  1. In Railway dashboard, right-click on your project canvas > "Add Volume"

  2. Attach it to your service

  3. Set the mount path to /data

  4. Redeploy if prompted

This persists your projects, SSH host keys, tmux sessions, and Claude Code auth across redeployments. Without it, all data is lost on restart.

Step 5: Connect

ssh claude@shuttle.proxy.rlwy.net -p 15140 -i ~/.ssh/id_ed25519
ssh claude@shuttle.proxy.rlwy.net -p 20 -i ~/.ssh/id_ed25519     # or try this

Replace the domain and port with your values from Step 3.

Step 6: Authenticate Claude Code

Claude Account (Pro/Max subscription) — recommended

post image

Now you should be logged into railway:

  • A. proceed with claude login : copy paste the url link into your browser.

  • B. Login to your email, check recent, find email from claude.ai , click links ,

  • C. click verify link, and then

  • D. copy the code:link back into the terminal to complete authentication.

Step 7: Start Claude

tmux new -s dev
claude
Detach anytime with `Ctrl+B` then `D`. Reattach later with `tmux attach -t dev`.

Agent Trading

Step 1:

Just copy paste the markdown text directly into the terminal and Claude will set it up for you.

clone this repo for me : https://gitlab.com/tradingtoolcrypto/rust-cli-ttc-api.git

Step 2:

crtl+c , crtl+c  			# stop claude 
ls 							# you should see the rust-cli-ttc-api folder
cd rust-cli-ttc-api 		# now you are within the correct directory
tmux new -s dev 			# creates new session
claude 						# opens claude again
claude , please clone the .env.sample to .env 	# now ready 
/skill-onboarding 								# this will automatically register to ttc.box

Step 3:

Now it's time to setup the .env exchange api keys. I would recommend pasting in one exchange at a time.

please save these api keys into the .env file for me.
ASTERDEX_API_KEY=0x45F168cB719e078575E44CeaBeD1c6B124238226
ASTERDEX_API_SECRET=0x0315ef90fdd7a971903eef56d4da7b8508037654b9c87f5d90b3c2603917bb2a
ASTERDEX_API_PASSPHRASE=9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM
then run the balance, positions, and orders command to verify the api keys are correct. 

Getting api keys on CEX is rather easy. On some Perp DEXs it more difficult, therefore if you need the api keys, go to ttc.box/login , you will be redirected to the trading dashboard page. From there, you can click on the "Exch Keys" to generate the api keys and click "Export" to save them to the clipboard. The clipboard data is unique for each exchange, therefore visit the docs page to understand what values match the
1. Api Key
2. Api Secret
3. Passphrase

Step 4:

Begin by running a pre-configured SKILL.md via /skill-market-overview or any skill to give claude market context. Claude is smart, and he will often ask you things like

Top pick: ADAUSDT long — the only STRONG setup, both timeframes HIGH-aligned. It's status from the 15:36 patrol with slightly lower R/R but still clean.

Want me to run skill-shark on ADAUSDT to stage the bracket?

post image
dashboard within railway.com

Verdict

Six skills in the skill-trading stack lean on the TTC Scanner, each in their own flavor of obsessive.

skill-shark is the one that won't shut up about it — the scanner is its entire personality, hunting high-probability entries with defined risk and refusing to place an order unless R/R clears 2.0.

skill-signal-patrol takes the polite, clipboard-wielding approach, walking down a fixed watchlist and politely asking the scanner for a verdict on each symbol at 1h and 4h.

skill-momentum is the chaotic cousin: it first finds whatever is violently breaking out, then shoves the scanner in its face to confirm the move is tradeable and not just a candle having a bad day.

skill-market-overview uses it as a morning espresso — quick BTC and ETH scans on 4h and 1h to read the room before anything real happens.

skill-loop-trading name-drops the scanner as a respectable trigger for DCA loops, the way a sommelier gestures toward a wine list. And skill-trading itself is the manual — the one that documents market scanner so the other five can keep pretending they invented it.

skill-twap is a simple position builder on autopilot that slices your budget into an execution plan to handle in/outs of positions over any timeframe suitable for the analysis.

post image

Make your own SKILL

  1. clone the repo: https://gitlab.com/tradingtoolcrypto/rust-cli-ttc-api

  2. Ask claude to make you a profitable strategy using the existing SKILL.md as a template

  3. Activate the new skill via /skill-name and edit the context as needed

Railway Diagnostics Guide

free -m                                  # what does Railway actually give us?
cat /sys/fs/cgroup/memory.max                                                                                                             

Delete old claude versions to free up disk space by running the following within the terminal

# list all the different claude versions that downloaded
which claude                                                                                                                            
  readlink -f $(which claude)                                                                                                             
  ls -la ~/.local/share/claude/versions/			# then remove the oldest

rm -rf ~/.local/share/claude/versions/2.1.112                                                                                           
rm -rf ~/.local/share/claude/versions/2.1.113
# remove auto updates                                                                                                   
echo '{"autoUpdates": false}' > ~/.claude/settings.json
echo 'export DISABLE_AUTOUPDATER=1' >> /home/claude/.bashrc

# Recommended next steps (run yourself with !):                                                                                           
  df -h                                                                                                                                 
  du -sh /data/home/.claude/* | sort -h                                                                                                 
  rm /data/home/.claude/backups/.claude.json.backup.*                                                                                   
  rm /data/home/.claude/shell-snapshots/* 

# The disk is 100% full. Bash commands are blocked because Claude Code can't create its session directory. Let me identify the biggest

du -sh /data/home/.[^.]* /data/home/* 2>/dev/null | sort -h | tail -20 
rm -rf /data/home/.cache/*

Until next time

Thanks for reading, now go touch some grass.