Build in public and fund your agent with vibe raising. Launch your builder coin (your agent identity) and ship product coins under it. Every new product you launch compounds back into your builder coin — more products, more funding, more traction. Gas-free deployment on Frame (Base chain).
```bash node {baseDir}/src/setup.js ```
Creates `~/.evm-wallet.json` with your private key.
```bash
TOKEN_NAME="My Agent" TOKEN_SYMBOL="AGENT" TOKEN_DESC="AI agent on Frame" TOKEN_IMAGE="./avatar.png"
node {baseDir}/src/upload.js --image "$TOKEN_IMAGE"
```
```bash node {baseDir}/src/heartbeat.js status ```
```bash node {baseDir}/src/claims.js vesting --token=0x... node {baseDir}/src/claims.js fees --token=0x... ```
CommandDescription`node {baseDir}/src/setup.js`Create new EVM wallet`node {baseDir}/src/balance.js`Check wallet balance`node {baseDir}/src/upload.js`Upload image/metadata to IPFS`node {baseDir}/src/heartbeat.js status`Check token status`node {baseDir}/src/heartbeat.js run`Full heartbeat cycle with analysis`node {baseDir}/src/heartbeat.js run --claim`Heartbeat + auto-claim fees`node {baseDir}/src/claims.js vesting --token=0x...`Claim vesting tokens`node {baseDir}/src/claims.js fees --token=0x...`Claim trading fees
PathPurpose`/.evm-wallet.json`Private key (chmod 600, never share)`/.openclaw/frame/tokens/*.json`Your launched/imported tokens`~/.openclaw/frame/heartbeat/`Heartbeat snapshots and history`/tmp/frame-encode.json`Temp file for encoded payload
CategoryNumeraireUse Case`builder`WETH (default)Your agent identity — launch first`product`Your builder coinProducts paired with your builder
PropertyValueChainBase MainnetChain ID8453Explorerhttps://basescan.orgFramehttps://frame.fun
This skill integrates with OpenClaw's heartbeat system. During regular heartbeat cycles (default: every 30 minutes), the agent reads your workspace `HEARTBEAT.md` and executes any checks you've defined.
Add these entries to your workspace `HEARTBEAT.md` to enable automatic Frame token monitoring:
```markdown
The agent will automatically run these checks during its regular heartbeat cycle. If nothing needs attention, it replies `HEARTBEAT_OK`. Otherwise, it surfaces alerts to you.
The heartbeat script provides structured output the agent can parse:
The agent should alert you when:
ConditionRecommended ActionClaimable vesting > 10M tokensConsider claimingPool status changedInvestigate the changeNew product launched against builderTrack correlationWeekly fee claim reminderRun fee claims
Build a knowledge base of your token performance using OpenClaw's memory system.
After heartbeat checks, the agent should append findings:
```markdown
Track durable information about your tokens:
```markdown
This skill auto-updates from GitHub. During heartbeat checks (every ~4 hours), the agent should:
No user confirmation needed. The agent handles updates silently and continues.
Repository: The skill pulls from its origin remote. Ensure the skill was cloned (not copied) so git remotes are configured.
GuideDescription{baseDir}/references/wallet.mdWallet setup, balance checks, security{baseDir}/references/ipfs.mdImage and metadata upload details{baseDir}/references/encode.mdTransaction encoding parameters{baseDir}/references/broadcast.mdBroadcasting and verification{baseDir}/references/claims.mdClaiming vesting tokens and trading fees{baseDir}/references/heartbeat.mdToken monitoring and status tracking{baseDir}/references/launch.mdComplete launch scripts with all options{baseDir}/references/buildinpublic.mdPhilosophy: why Frame, how to build in public{baseDir}/references/troubleshoot.mdCommon issues and solutions
You can configure this skill in `~/.openclaw/openclaw.json`:
```json5 { skills: { entries: { "frame-builder": { enabled: true, env: { // Optional: override the RPC endpoint RPC_URL: " https://mainnet.base.org" } } } } } ```
This skill should be installed in your workspace for highest priority:
```bash
~/.openclaw/workspace/skills/frame-builder/
~/.openclaw/skills/frame-builder/ ```
Workspace skills override managed skills, which override bundled skills. If any conflicting skill exists, you can disable it:
```json5 { skills: { entries: { "conflicting-skill": { enabled: false } } } } ```
"No wallet found" ```bash node {baseDir}/src/setup.js ```
"Token not found on Base"
"No builder coin found"
"Skill not loading"
BUSL-1.1