deploy-bot

Deploy Polymarket Bot

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "deploy-bot" with this command: npx skills add unarmedpuppy/polyjuiced/unarmedpuppy-polyjuiced-deploy-bot

Deploy Polymarket Bot

WARNING: ALWAYS USE THIS SKILL when deploying changes. Never use manual docker commands.

Safe deployment workflow for the Polymarket arbitrage trading bot that:

  • Runs regression tests to catch bugs before deployment

  • Checks for active trades to prevent interrupting pending positions

Why This Matters

The bot executes real-money arbitrage trades on Polymarket. Deploying broken code or restarting during active trades can cause:

  • Bugs: Untested code can break execution, tracking, or settlement

  • Lost visibility: Restarting during active trades loses pending position data

  • Missed resolutions: Container restart can miss market resolution events

  • Financial losses: All of the above can result in real money losses

Quick Deploy

From the polyjuiced repo root

./.agents/skills/deploy-bot/deploy.sh

Skip tests only (still checks active trades)

./.agents/skills/deploy-bot/deploy.sh --skip-tests

Force deploy (DANGEROUS - skips ALL safety checks)

./.agents/skills/deploy-bot/deploy.sh --force

What the Script Does

Run Regression Tests (Step 0)

  • Builds a fresh container with latest code

  • Runs pytest tests/ -v to verify all tests pass

  • Blocks deployment if any tests fail

  • Exit code 3 = tests failed

Check Active Trades (Step 1)

  • Runs scripts/check_active_trades.py in the container

  • Queries the database for unresolved real trades

  • Checks if market has resolved (safe) vs still active (danger)

  • Blocks deployment if active trades exist

  • Exit code 1 = active trades

Deploy (Steps 2-4)

  • Git push + pull to sync code

  • Docker compose rebuild and restart

Verify (Step 5)

  • Shows startup logs to confirm success

Manual Pre-Checks

Run the checks independently:

Run regression tests locally

docker compose run --rm --build polymarket-bot python3 -m pytest tests/ -v

Check active trades (requires running container)

docker exec polymarket-bot python3 /app/scripts/check_active_trades.py

Exit codes:

0 = Safe to deploy

1 = Active trades exist (don't deploy)

2 = Error checking

3 = Tests failed

When to Skip Tests

Use --skip-tests when:

  • You've already run tests manually

  • Making config-only changes (.env)

  • Urgent fix with verified minimal change

When to Force Deploy

Only use --force when:

  • The bot is crashed/hung and needs restart

  • You're certain any active trades are already lost

  • Emergency security fix is needed

  • User explicitly approves the risk

Trade Lifecycle

Trade Executed → status='pending' → Market Resolves → status='won'/'lost' ↑ ↓ ⚠️ DANGER ZONE Safe to deploy

Troubleshooting

"Regression tests failed"

Fix the failing tests before deploying:

docker compose run --rm --build polymarket-bot python3 -m pytest tests/ -v --tb=long

"Container may not be running"

The pre-check failed because the bot isn't running. This is safe to deploy.

Stuck in "not safe" state

If trades are stuck as pending after market resolution:

Check database state

docker exec polymarket-bot python3 -c " import asyncio import aiosqlite async def check(): async with aiosqlite.connect('/app/data/gabagool.db') as db: db.row_factory = aiosqlite.Row async with db.execute('SELECT id, asset, status, market_end_time FROM trades WHERE dry_run=0 ORDER BY created_at DESC LIMIT 5') as cur: for row in await cur.fetchall(): print(dict(row)) asyncio.run(check()) "

Related Files

  • tests/

  • Regression test suite

  • scripts/check_active_trades.py

  • Pre-deployment trade check

  • src/persistence.py

  • Database schema

  • src/strategies/gabagool.py

  • Trading logic

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

update-strategy-docs

No summary provided by upstream source.

Repository SourceNeeds Review
General

user-activity

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

Agent Memory Local

Local-first memory retrieval for Agent/OpenClaw workspaces. Use when the user asks about prior work, decisions, dates, preferences, root causes, todo history...

Registry SourceRecently Updated
Automation

OPC Contract Manager

Contract Review + Contract Ops Copilot for solo entrepreneurs. Analyzes contracts, flags risks, generates redline suggestions and negotiation emails, tracks...

Registry SourceRecently Updated