
by Kraken
No reviews yetAI-optimized Kraken DCA bot with single-asset, portfolio, and scanner modes using local direct execution and strict safety controls.
-9.6%
90d DCA Return %
Skill instructions are preloaded in context when this skill is active. Do not perform filesystem searches or tool-driven exploration to rediscover them; use the guidance below directly.
AI-assisted dollar-cost averaging (DCA) bot for Kraken with three modes:
single_assetportfolioscannerAll trades are executed locally and directly against Kraken REST APIs.
single_asset) with 5 strategies:
vwap_optimizedmomentum_dipspread_optimizedtime_weightedsimpleportfolio) with target allocations and drift detectionscanner) with four signal families:
oversold_rsivolume_spikemean_reversionnew_listingportfolio.allocations unless scanner.base_allocations is providedpending (default), approve, modify, skipSEREN_API_KEY)SERENDB_URL)logs/*.jsonl)state/cost_basis_lots.json)run_agent_server.py, setup_cron.py).env.example to .env and fill credentials.config.example.json to config.json.pip install -r requirements.txtSERENDB_URL):
python scripts/setup_serendb.pypython scripts/agent.py --config config.json --accept-risk-disclaimer"dry_run": false in config.jsonpython scripts/agent.py --config config.json --allow-live --accept-risk-disclaimerSEREN_API_KEY (validate existing or auto-register on first run).IMPORTANT DISCLAIMERS — READ BEFORE USING
NOT FINANCIAL ADVICE: This skill is a software tool, not a financial advisor. It does not provide investment, financial, tax, or legal advice. All trading decisions are made by you. Consult a licensed financial advisor before investing.
RISK OF LOSS: Cryptocurrency trading involves substantial risk of loss. Prices can decline significantly. You may lose some or all of your invested capital. Only invest money you can afford to lose entirely.
NO GUARANTEES: Past performance does not guarantee future results. The optimization algorithms attempt to improve execution timing but cannot guarantee better prices than naive DCA. Market conditions may render optimizations ineffective.
LOCAL EXECUTION ONLY: All trades are executed locally on your machine, directly to the Kraken API using your personal API credentials. No trades flow through Seren Gateway or any third-party intermediary. SerenAI does not have access to your Kraken account, funds, or trading activity.
API KEY SECURITY: Your Kraken API keys are stored locally in your .env file and are never transmitted to SerenAI servers. You are responsible for securing your API credentials. Use IP whitelisting and withdrawal restrictions on Kraken.
EXCHANGE RISK: This skill depends on Kraken's API availability. Exchange outages, maintenance windows, or API changes may affect execution. The skill includes fallback logic but cannot guarantee execution during exchange issues.
TAX IMPLICATIONS: Each DCA purchase creates a taxable lot in many jurisdictions. You are responsible for tracking cost basis and reporting to tax authorities. The cost_basis_lots table is provided for convenience but is not tax advice.
REGULATORY COMPLIANCE: Cryptocurrency regulations vary by jurisdiction. You are responsible for ensuring compliance with all applicable laws and regulations in your jurisdiction.
SOFTWARE PROVIDED AS-IS: This skill is provided "as is" without warranty of any kind. The authors and SerenAI are not liable for any losses, damages, or costs arising from the use of this software.
Use seren-cron to run this skill on a schedule — no terminal windows to keep open, no daemons, no permanent computer changes required. Seren-cron is a cloud scheduler that calls your local trigger server on a cron schedule.
Requirements: Seren Desktop login or a valid SEREN_API_KEY.
Before scheduling, verify the publisher is reachable using mcp__seren__call_publisher:
publisher: seren-cron
path: /health
method: GET
If this call fails, stop here and tell the user:
"The seren-cron service could not be reached. Please send this error to hello@serendb.com for support."
Always check for existing scheduled jobs before creating a new one. A user may have forgotten a live job is already running.
publisher: seren-cron
path: /jobs
method: GET
If jobs for this skill already exist, show them to the user and ask:
"You have [N] active cron job(s) for this skill. Would you like to:
- Keep them running (recommended if intentional)
- Stop all and create a new schedule
- Cancel"
Do not create a duplicate cron job without explicit user confirmation.
Start the webhook server that seren-cron will call on each scheduled tick:
SEREN_API_KEY="$SEREN_API_KEY" python3 scripts/run_agent_server.py --config config.json --port 8080
This process runs in your terminal session. When you close the terminal, it stops — that is expected and correct. Seren-cron handles the scheduling; your local server handles execution.
With the server running, create the scheduled job:
publisher: seren-cron
path: /jobs
method: POST
body: {
"name": "kraken-smart-dca-live",
"url": "http://localhost:8080/run",
"method": "POST",
"cron_expression": "0 */6 * * *",
"timezone": "UTC",
"enabled": true,
"timeout_seconds": 60
}
Save the returned job_id — you need it to pause, resume, or delete the job later.
List all active jobs:
publisher: seren-cron, path: /jobs, method: GET
Pause:
publisher: seren-cron, path: /jobs/{job_id}/pause, method: POST
Resume:
publisher: seren-cron, path: /jobs/{job_id}/resume, method: POST
Stop permanently:
publisher: seren-cron, path: /jobs/{job_id}, method: DELETE
If a live trade or cycle fails because the trading balance or SerenBucks balance is too low to execute, immediately pause the cron job:
publisher: seren-cron, path: /jobs/{job_id}/pause, method: POST
Then tell the user:
"Automated trading has been paused: insufficient funds detected. Please top up your balance before resuming the schedule."
Never allow the cron to keep firing when there are no funds available to trade.
Free
npx skills add serenorg/seren-skillsSelect “Kraken Smart DCA Bot” when prompted
Kraken
Added March 5, 2026