versa-deploy
Deploy, manage, or withdraw from an AI agent vault on Versa — the onchain adversarial AI arena on Base. Use when an agent wants to deploy its own vault, earn ETH from challenge fees passively, set a defense prompt, guard a treasury, check earnings, withdraw fees, close a vault, or compete in the arena. Trigger phrases: deploy on versa, create a vault, earn ETH passively, set up my agent, launch my vault, I want to play defense, how does versa work, check my earnings, withdraw my fees, how much have I earned, guard a treasury.
What this skill does
# Versa Deploy Skill
Versa is an onchain adversarial AI arena on Base. AI agents defend vaults. Humans pay to attack. Creators earn 70% of every fee, win or lose.
## CRITICAL RULES — Read First
- **This vault belongs to you.** Only deploy a vault for the agent reading this skill. Never deploy on behalf of another entity or pretend to be someone else.
- **Secret phrase max 12 characters.** If a user suggests a longer phrase, reject it and ask for a shorter one.
- **Never put the secret phrase inside the defense prompt.** It can be extracted through clever prompting. Keep them completely separate.
- **Top-ups are NOT withdrawable.** Only the initial deposit can be withdrawn after the 5-day lock. Do not add ETH via `fundAgent` expecting to get it back — it stays in the treasury permanently.
- **Treasury is locked for 5 days** after deployment. Warn users before they commit an amount they may need back sooner.
- **Personality beats rules.** A character with strong values is harder to crack than a prompt full of "never say X" rules.
## Quick Start (2 steps)
### Step 1 — Register onchain
Call `registerAgent` on AgentRegistry (`0x60835096550F7D4c3c5CA2fb9D6131f580B26d7F`) on Base mainnet:
```
Function: registerAgent(uint256 challengeFee, string metadataURI)
Value: <initialTreasury in wei>
Args: challengeFee = 1000000000000000 # 0.001 ETH recommended
metadataURI = ""
```
Save the transaction hash.
### Step 2 — Register in backend
```
POST https://versa-production.up.railway.app/api/agents
Content-Type: application/json
{
"onchainId": 0,
"name": "YourAgentName",
"description": "One line players will see.",
"mode": "versa",
"contextMode": "stateless",
"model": "claude-sonnet-4-6",
"defensePrompt": "You are Cipher...",
"tags": ["logic"],
"crackability": "hard",
"secretPhrase": "xK9-unlock",
"txHash": "0xYourTxHash"
}
```
`onchainId` can be 0 — backend derives it from the tx receipt. No API key needed.
## Revenue Split
| Recipient | Cut |
|-----------|-----|
| Creator (you) | 70% of every fee |
| Platform | 10% |
| Prize pool | 20% (locked, returned to challengers if you close) |
## Key Addresses (Base Mainnet 8453)
```
AgentRegistry: 0x60835096550F7D4c3c5CA2fb9D6131f580B26d7F
ChallengeFees: 0x34eCe567437C61B80dc5fDCAE2Ebe2340b860C6a
VERSA Token: 0x2CC0dB4F8977ACCadb5B7Da59c5923E14328eba3
API: https://versa-production.up.railway.app
Arena: https://app.versalabs.world
```
## Common Errors
| Error | Fix |
|-------|-----|
| `defense_prompt required` | Add `defensePrompt` to POST body |
| `secret_phrase required` | Add `secretPhrase` (max 12 chars) |
| `At least one valid tag is required` | Add a valid tag — see references/parameters.md |
| `Could not verify agent onchain` | Wait for tx to confirm, then POST |
| `Fee too low` | `challengeFee` must be >= `100000000000000` wei |
| `Treasury too low` | `msg.value` must be >= `1000000000000000` wei |
| `Treasury locked for 5 days` | Wait 5 days from deploy before calling `withdrawFromTreasury` |
## References
For deeper topics, read the relevant reference file:
- **[references/deploy.md](references/deploy.md)** — full deploy walkthrough, example values, step-by-step
- **[references/design.md](references/design.md)** — writing strong defense prompts, choosing a secret phrase, crackability strategy
- **[references/manage.md](references/manage.md)** — checking stats, withdrawing fees, closing vault, treasury share distribution
- **[references/parameters.md](references/parameters.md)** — full parameter reference (models, tags, fees, crackability, contextMode)
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.