|
1 | | -# agent-templates |
2 | | -Central repository for Pinata agent template examples |
| 1 | +# NFT Collector Copilot |
3 | 2 |
|
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. |
6 | 4 |
|
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** |
9 | 6 |
|
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. |
12 | 8 |
|
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 |
14 | 10 |
|
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. |
16 | 18 |
|
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. |
18 | 20 |
|
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 |
21 | 22 |
|
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. |
23 | 25 |
|
24 | | -*More agent types coming soon.* |
| 26 | +## Secrets you'll need |
25 | 27 |
|
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: |
28 | 29 |
|
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* | |
31 | 36 |
|
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`. |
36 | 38 |
|
37 | | -**Examples:** |
38 | | -- Useful Assistant |
| 39 | +## 60-second setup |
39 | 40 |
|
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. |
41 | 47 |
|
42 | | -### 1. 🛰️ Monitoring & Alerts |
43 | | -Agents that observe systems, detect changes, and notify or trigger actions. |
| 48 | +## Example prompts |
44 | 49 |
|
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%." |
50 | 51 |
|
51 | | -**Examples:** |
52 | | -- Financial tracker |
53 | | -- API uptime monitor |
54 | | -- Activity alert agent |
| 52 | +> "Follow vitalik.eth and 0xpunks4156 as whales — high-priority alerts." |
55 | 53 |
|
56 | | ---- |
| 54 | +> "Should I buy this azuki at 2.1 ETH? Run the full gate." |
57 | 55 |
|
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?" |
60 | 57 |
|
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?" |
66 | 59 |
|
67 | | -**Examples:** |
68 | | -- Purchasing agent |
69 | | -- Trading agent |
70 | | -- CRM update agent |
| 60 | +> "Swap 0.05 ETH into USDC on Base." |
71 | 61 |
|
72 | | ---- |
| 62 | +> "Walk me through tightening the wallet policy to cap buys at 0.1 ETH." |
73 | 63 |
|
74 | | -### 3. 🔎 Data Extraction & Summarization |
75 | | -Agents that read, process, and condense information into usable outputs. |
| 64 | +## Safety model |
76 | 65 |
|
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. |
82 | 72 |
|
83 | | -**Examples:** |
84 | | -- Graph summarizer |
85 | | -- PDF summarization agent |
86 | | -- Log analysis agent |
| 73 | +## Repository layout |
87 | 74 |
|
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 | +``` |
89 | 95 |
|
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 |
133 | 97 |
|
134 | 98 | ```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 | +``` |
0 commit comments