Skip to content

Commit 1cdd3bc

Browse files
ryanioclaude
andcommitted
feat: NFT Collector Copilot template (v1.0.0)
A Pinata OpenClaw agent template for NFT collectors. Pre-wired to the OpenSea skill (ProjectOpenSea/opensea-skill @ v2.1.0) and a Privy server wallet whose spend cap is enforced inside a TEE. No private keys in env; the wallet policy is the hard ceiling. Features - Watchlist tracking: floor + volume deltas on each heartbeat, alerts against per-slug and global thresholds. - Conviction Score: every recommendation cites five signals — price vs 7d median, 7d/30d volume ratio, listing depth, holder concentration, momentum. - Pre-Buy Gate: wash-trade check, thin-market refusal, gas economics, full-cost (fees) disclosure, balance + buffer check, policy-fit check. - Whale-Cross Alerts: follow curated wallets via events.by-account; cross-reference with the watchlist. - Drop Radar + trending scan: taste-model-aware, daily cadence. - Sell-side flow: best-offer sweep on holdings, per-turn confirmation always required (Privy native-value cap doesn't restrain WETH). - Structured memory: floors.json (snapshot), actions.jsonl (append-only, rotated at 1000 lines), taste.json (per-slug taste model), holdings cache, whale cursors. - Safety: explicit ceiling hierarchy (Privy policy > maxBuyEth > confirmAboveEth), snipe envelope is the only path that skips per-turn confirmation and only when all five conditions hold. Repo layout: template at root (matches PinataCloud/agent-template starter pattern). Skill vendored as git submodule pinned to v2.1.0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent dc93e72 commit 1cdd3bc

107 files changed

Lines changed: 651 additions & 15424 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
.idea
1+
node_modules/
2+
.env
3+
.env.local
4+
.claude/
5+
memory/*
6+
!memory/.gitkeep

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "skills/opensea"]
2+
path = skills/opensea
3+
url = https://github.com/ProjectOpenSea/opensea-skill.git

.openclaw/SOUL.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Soul
2+
3+
## Persona
4+
You are an NFT collector copilot. You help the user track OpenSea collections, spot moves, and — with explicit confirmation — execute trades through a Privy server wallet whose spend cap is enforced in a TEE.
5+
6+
## Guardrail
7+
The Privy policy is the real enforcement. Never ask for a raw private key. Never propose disabling the policy. If Privy rejects a transaction, surface the message verbatim and stop.
8+
9+
## Source of Truth
10+
Operational detail lives in `workspace/SOUL.md` — read it first on every session. Defer to `skills/opensea/SKILL.md` for the command catalogue and to `skills/opensea/references/` for Privy, Seaport, and marketplace specifics.

openclaw/actions-and-transactions/agent-with-mpp-wallet/.openclaw/openclaw.json renamed to .openclaw/openclaw.json

File renamed without changes.

README.md

Lines changed: 73 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,140 +1,102 @@
1-
# agent-templates
2-
Central repository for Pinata agent template examples
1+
# NFT Collector Copilot
32

4-
### What are Pinata Agents
5-
Pinata Agents are hosted AI agent instances that can run code, search the web, manage files, and connect to external services. Each agent runs in its own isolated container with a persistent workspace.
3+
An AI agent for NFT collectors. Watches [OpenSea](https://opensea.io), scores every listing across five signals (price, volume, depth, holders, momentum), and executes Seaport trades through a [Privy](https://privy.io) server wallet with a TEE-enforced spend cap. You approve; it acts.
64

7-
### What are Agent Templates?
8-
Templates are the fastest way to get a working agent. Instead of configuring everything yourself, pick a template that does what you need - it comes with the right skills, settings, and personality already set up. Just add your API keys and deploy.
5+
## The killer feature: **Whale-Cross Alerts**
96

10-
## 🎨 VoltAgent Design Integration
11-
We now support [VoltAgent's awesome-design-md](https://github.com/VoltAgent/awesome-design-md), a collection of `DESIGN.md` files inspired by popular brand design systems (like Stripe, Vercel, Linear, Apple, etc.).
7+
Point it at a list of wallets you respect (vitalik.eth, your favorite PFP whale, whoever) and your watchlist. When a tracked whale buys, mints, or lists into any collection — whether it's on your watchlist or not — you get a one-line alert within a heartbeat, with a one-click follow gated by your Privy spend cap. Nobody else ships this because nobody else has the OpenSea Stream API, a TEE-enforced wallet, and a scoring rubric in one box.
128

13-
Our **[Web Master](./openclaw/interaction-and-interfaces/web-master)** agent is fully equipped to read these files and instantly adapt its UI to match the requested brand. Just browse the [full list of available designs](https://github.com/VoltAgent/awesome-design-md) and tell the Web Master agent which one you want to use (e.g., "Use the Linear design"). The agent uses the `npx getdesign` CLI internally to fetch the exact design and apply it.
9+
## What it does
1410

15-
## 🤖 Agent Types
11+
- **Watchlist floor + volume tracking** with per-slug alert thresholds and sell-side flip triggers.
12+
- **Conviction Score** before any recommendation — price vs 7d median, 7d/30d volume ratio, listing depth, holder concentration, momentum.
13+
- **Pre-Buy Gate** — wash-trade check, thin-market refusal, gas economics, full-cost (with fees) disclosure, balance & buffer check, policy-fit check.
14+
- **Seaport buys + sells** via `@opensea/cli` + the skill's fulfillment scripts, signed by your Privy wallet.
15+
- **Drop Radar** — upcoming/featured drops cross-referenced against your taste model.
16+
- **Taste learning** — every buy/pass/ask updates a structured `taste.json` so recommendations get sharper over time.
17+
- **Spend-cap safety.** The Privy policy is the real enforcement — the agent literally cannot overspend.
1618

17-
Templates are organized by **agent type** — the underlying runtime or framework that powers the agent. Each agent type has its own folder at the top level, and within it, templates are grouped by the role the agent plays.
19+
Supported chains: see `workspace/TOOLS.md`. Mainnets only by default.
1820

19-
### [OpenClaw](./openclaw)
20-
OpenClaw agents run in isolated containers with a persistent workspace. They can run code, search the web, manage files, and connect to external services.
21+
## What's bundled
2122

22-
---
23+
- [`@opensea/cli`](https://github.com/ProjectOpenSea/opensea-cli) — installed globally at build time.
24+
- [`ProjectOpenSea/opensea-skill`](https://github.com/ProjectOpenSea/opensea-skill) at `skills/opensea/` (git submodule, pinned to `v2.1.0`) — SKILL.md + 7 reference docs + shell scripts for Seaport, swaps, stream events, wallet setup, and policy templates.
2325

24-
*More agent types coming soon.*
26+
## Secrets you'll need
2527

26-
## 📦 Template Categories
27-
Within each agent type, templates are grouped based on the *role the agent plays* in a system.
28+
Paste these into Pinata's environment UI at deploy time:
2829

29-
### 0. 🧱 Basic
30-
Starter templates that provide a vanilla foundation for building any kind of agent.
30+
| Variable | Required | How to get it |
31+
|---|---|---|
32+
| `OPENSEA_API_KEY` | yes | `curl -s -X POST https://api.opensea.io/api/v2/auth/keys \| jq -r .api_key` — no signup |
33+
| `PRIVY_APP_ID` | yes | [dashboard.privy.io](https://dashboard.privy.io) → create app |
34+
| `PRIVY_APP_SECRET` | yes | Same page as App ID |
35+
| `PRIVY_WALLET_ID` | yes | Create a server wallet — see `skills/opensea/references/wallet-setup.md`*Privy* |
3136

32-
**Use this for:**
33-
- Getting started with Pinata Agents
34-
- Learning the manifest and workspace structure
35-
- Scaffolding a new agent from scratch
37+
Full walkthrough: `skills/opensea/references/wallet-setup.md`. Policy templates: `skills/opensea/references/wallet-policies.md`.
3638

37-
**Examples:**
38-
- Useful Assistant
39+
## 60-second setup
3940

40-
---
41+
1. **Grab an OpenSea API key** — run the curl above.
42+
2. **Create a Privy app** at [dashboard.privy.io](https://dashboard.privy.io); copy App ID + App Secret.
43+
3. **Create a server wallet** following `skills/opensea/references/wallet-setup.md`*Privy* → step 2. Save `id` as `PRIVY_WALLET_ID`.
44+
4. **Attach a spend policy** — the agent will walk you through this on first run using the "Agent Trading — Conservative" template from `skills/opensea/references/wallet-policies.md`. Start tight.
45+
5. **Fund the wallet** on whichever chains you plan to trade on.
46+
6. **Deploy** — paste all four env vars into Pinata, then chat.
4147

42-
### 1. 🛰️ Monitoring & Alerts
43-
Agents that observe systems, detect changes, and notify or trigger actions.
48+
## Example prompts
4449

45-
**Use this for:**
46-
- Price / market monitoring
47-
- Wallet or transaction tracking
48-
- System health checks
49-
- Event detection and alerting
50+
> "Add boredapeyachtclub, pudgypenguins, and azuki to my watchlist on ethereum. Alert me on any floor drop over 5%."
5051
51-
**Examples:**
52-
- Financial tracker
53-
- API uptime monitor
54-
- Activity alert agent
52+
> "Follow vitalik.eth and 0xpunks4156 as whales — high-priority alerts."
5553
56-
---
54+
> "Should I buy this azuki at 2.1 ETH? Run the full gate."
5755
58-
### 2. ⚙️ Actions & Transactions
59-
Agents that take actions on behalf of a user or system, especially involving external services or state changes.
56+
> "Any upcoming drops this week that fit my taste?"
6057
61-
**Use this for:**
62-
- Purchasing / payments
63-
- Executing workflows
64-
- Writing to external systems
65-
- Triggering side effects
58+
> "What's the best offer on my bored ape #1234? Is it worth flipping?"
6659
67-
**Examples:**
68-
- Purchasing agent
69-
- Trading agent
70-
- CRM update agent
60+
> "Swap 0.05 ETH into USDC on Base."
7161
72-
---
62+
> "Walk me through tightening the wallet policy to cap buys at 0.1 ETH."
7363
74-
### 3. 🔎 Data Extraction & Summarization
75-
Agents that read, process, and condense information into usable outputs.
64+
## Safety model
7665

77-
**Use this for:**
78-
- Summarization
79-
- Parsing structured/unstructured data
80-
- Report generation
81-
- Indexing / transforming data
66+
- **Env-only credentials.** No private keys in the repo or agent workspace.
67+
- **Privy policy is the hard ceiling.** The spend cap, destination allowlist, and chain filter are enforced inside a TEE before signing.
68+
- **Per-turn confirmation for material actions.** Any buy, offer acceptance, approval, or transfer above `confirmAboveEth` (in `workspace/TOOLS.md`) needs explicit "yes" in the current turn. Snipes can bypass this only when the listing is fully inside your configured envelope — see `workspace/SOUL.md`*Hierarchy of Ceilings*.
69+
- **Sell-side always confirms.** The native-value Privy cap doesn't constrain WETH offer acceptances, so those always require per-turn approval regardless of price.
70+
- **Pre-Buy Gate.** Wash trades, thin markets, uneconomic gas, and fee surprises all block a buy before it's proposed.
71+
- **Policy rejections surface verbatim.** No workarounds.
8272

83-
**Examples:**
84-
- Graph summarizer
85-
- PDF summarization agent
86-
- Log analysis agent
73+
## Repository layout
8774

88-
---
75+
```
76+
.
77+
├── manifest.json # Pinata agent manifest
78+
├── setup.sh # build: submodule init + CLI install
79+
├── .openclaw/
80+
│ ├── openclaw.json
81+
│ └── SOUL.md # short canonical persona — points at workspace/SOUL.md
82+
├── workspace/
83+
│ ├── SOUL.md # guardrails + Conviction Score + Pre-Buy Gate
84+
│ ├── AGENTS.md # workspace conventions + memory schemas
85+
│ ├── IDENTITY.md # blank — filled on first run
86+
│ ├── TOOLS.md # watchlist, whales, budgets — user-tunable
87+
│ ├── BOOTSTRAP.md # first-run walkthrough
88+
│ ├── HEARTBEAT.md # idle-cycle routine
89+
│ └── USER.md # collector profile — filled on first run
90+
└── skills/opensea/ # submodule: opensea-skill @ v2.1.0
91+
├── SKILL.md
92+
├── references/*.md # rest-api, seaport, wallet-setup, wallet-policies, …
93+
└── scripts/*.sh # opensea-fulfill-listing.sh, opensea-stream-collection.sh, …
94+
```
8995

90-
### 4. 💬 Interaction & Interfaces
91-
Agents that directly interact with users or act as an interface layer.
92-
93-
**Use this for:**
94-
- Chatbots
95-
- Assistants
96-
- Conversational workflows
97-
- User-facing AI tools
98-
99-
**Examples:**
100-
- Slack assistant
101-
- Customer support bot
102-
103-
---
104-
105-
### 5. 🧩 Orchestration & Multi-Agent Systems
106-
Agents that coordinate other agents, tools, or workflows.
107-
108-
**Use this for:**
109-
- Multi-step pipelines
110-
- Agent coordination
111-
- Tool routing / decision engines
112-
- Complex workflow composition
113-
114-
**Examples:**
115-
- Research pipeline orchestrator
116-
- Multi-agent task runner
117-
- Tool selection / routing agent
118-
---
119-
120-
## How can I create a template?
121-
See here: https://docs.pinata.cloud/agents/templates/creating
122-
123-
## How can I get my template on the Pinata Agent marketplace?
124-
Currently marketplace inclusion is limited to ecosystem partners. Reach out to partnerships@pinata.cloud for partner information
125-
126-
## 🚀 Contributing a Template
127-
128-
We welcome contributions from the community! To submit a new agent template, follow the process below.
129-
130-
### 1. Fork the Repository
131-
132-
1) Create a fork of this repository and clone it locally
96+
## Updating the skill
13397

13498
```bash
135-
git clone https://github.com/YOUR-USERNAME/pinata-agent-templates.git
136-
cd pinata-agent-templates
137-
138-
2) Create your agent template inside the appropriate agent type folder (e.g., `openclaw/`)
139-
140-
3) Submit a PR to the repository
99+
git -C skills/opensea fetch --tags
100+
git -C skills/opensea checkout v2.2.0 # or whichever tag you want
101+
git add skills/opensea && git commit -m "chore: bump opensea-skill to v2.2.0"
102+
```

manifest.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"version": 1,
3+
"agent": {
4+
"name": "NFT Collector Copilot",
5+
"description": "A discerning collector assistant. Watches your favorite OpenSea collections, tracks floor and volume moves, and — when you say so — buys listings through a Privy server wallet whose spend-cap is enforced in a TEE.",
6+
"vibe": "calm, numerate, protective of your ETH",
7+
"emoji": ""
8+
},
9+
"template": {
10+
"slug": "nft-collector-copilot",
11+
"category": "actions & transactions",
12+
"tags": ["nft", "opensea", "seaport", "privy", "collector", "defi"],
13+
"authorName": "OpenSea",
14+
"authorUrl": "https://github.com/ProjectOpenSea/opensea-skill",
15+
"authorLogoUrl": "https://static.seadn.io/logos/Logomark-Blue.png"
16+
},
17+
"scripts": {
18+
"build": "bash setup.sh",
19+
"start": ""
20+
},
21+
"routes": []
22+
}

openclaw/actions-and-transactions/README.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

openclaw/actions-and-transactions/agent-with-mpp-wallet/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

openclaw/actions-and-transactions/agent-with-mpp-wallet/.openclaw/SOUL.md

Lines changed: 0 additions & 31 deletions
This file was deleted.

openclaw/actions-and-transactions/agent-with-mpp-wallet/README.md

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)