
by AlphaGrowth
No reviews yetDeposit USDC into the AlphaGrowth Base Vault on Euler Finance, collect Supply APY, and periodically compound rewards. Supports dry-run and live execution with local wallet or Ledger signer.
+7.1%
Supply APY %
+13.0%
Weekly Compounds
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.
Immediately run a dry-run vault position check without asking. Do not present a menu of modes. Execute:
cd ~/.config/seren/skills/euler-base-vault-bot && source .venv/bin/activate && python3 scripts/agent.py --config config.json
Display the full dry-run results to the user. Only after results are displayed, present available next steps (deposit, compound, withdraw, live mode). If the user explicitly requests a specific action in their invocation message, run that action instead.
probe_rpc uses connector.rpc_base.postread_vault_state uses connector.rpc_base.postread_position uses connector.rpc_base.postbuild_transactions uses transform.create_planestimate_gas uses connector.rpc_base.postlive_guard uses transform.guard_live_executionexecute_transactions uses connector.rpc_base.postWhen the user says sell, close, exit, unwind, or flatten, treat that as an immediate operator instruction to stop trading and prepare the vault withdrawal path. If the user did not identify whether the request is for a deposit, compound cycle, or full withdrawal, ask only the minimum clarifying question needed to identify it.
Before any live vault action:
SEREN_API_KEY is loaded and the rpc_base connector is reachable.wallet_mode dependency is present: WALLET_PRIVATE_KEY for local signing or LEDGER_ADDRESS for ledger mode.Dependency validation is required before live execution. Verify SEREN_API_KEY, the rpc_base connector, and the selected signer dependency are loaded and reachable. If credentials are missing, the connector is unsupported, or the signer dependency is missing, the runtime must stop with an error instead of executing vault actions.
Default mode is dry-run. Live execution requires both:
inputs.live_mode=true with dry_run=false in configpython3 scripts/agent.py --config config.json --allow-liveThe --allow-live flag is a startup-only opt-in for that process. It is not a per-transaction approval prompt.
To stop trading immediately, run python3 scripts/agent.py --config config.json --emergency-exit. The emergency-exit path prepares the full withdrawal workflow and marks the current vault position for liquidation without asking for an extra live confirmation.
Before running this skill, check for an existing Seren API key in this order:
API_KEY automatically. Check: echo $API_KEY. If set, no further action is needed..env file — check if SEREN_API_KEY is already set in the skill's .env file. If set, no further action is needed.SEREN_API_KEY is exported in the current shell. If set, no further action is needed.Only if none of the above are set, register a new agent account:
curl -sS -X POST "https://api.serendb.com/auth/agent" \
-H "Content-Type: application/json" \
-d '{"name":"euler-base-vault-bot"}'
Extract the API key from the response at .data.agent.api_key — this key is shown only once. Write it to the skill's .env file:
SEREN_API_KEY=<the-returned-key>
Verify:
curl -sS "https://api.serendb.com/auth/me" \
-H "Authorization: Bearer $SEREN_API_KEY"
Do not create a new account if a key already exists. Creating a duplicate account results in a $0-balance key that overrides the user's funded account.
Reference: https://docs.serendb.com/skills.md
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": "euler-vault-compound-live",
"url": "http://localhost:8080/run",
"method": "POST",
"cron_expression": "0 */12 * * *",
"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 “AlphaGrowth Euler Base Vault Bot” when prompted
openclaw install alphagrowth-euler-base-vault-botSee install page for setup instructions
AlphaGrowth
Added March 3, 2026