Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build original LangGraph agents for Warden Protocol and prepare them for publishing in Warden Studio. Use this skill when users want to: (1) Create new Warden agents (not community examples), (2) Build LangGraph-based crypto/Web3 agents, (3) Deploy agents via LangSmith Deployments or custom infra, (4) Participate in the Warden Agent Builder Incentive Programme (open to OpenClaw agents), or (5) Integrate with Warden Studio for Agent Hub publishing.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 45% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 84% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 98% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 131% | 0% |
Build and deploy LangGraph agents for Warden Protocol's Agentic Wallet ecosystem.
The Warden community repository contains example agents for learning, not templates to recreate:
DO NOT BUILD THESE AGENTS - they already exist. Instead:
Your agent must be unique and solve a different problem to be eligible for the incentive programme.
Warden Protocol is an "Agentic Wallet for the Do-It-For-Me economy" with an active Agent Builder Incentive Programme open to OpenClaw agents that deploy to Warden. All agents must be LangGraph-based and API-accessible.
Key Resources:
Before building, ensure your agent meets these mandatory requirements:
✓ Framework: Built with LangGraph (TypeScript or Python) ✓ Deployment: LangSmith Deployments OR custom infrastructure ✓ Access: API-accessible (no UI required - Warden provides UI) ✓ Isolation: One agent per LangGraph instance ✓ Security Limitations (Phase 1):
✓ Functionality: Can implement any workflow:
The community-agents repository contains reference examples to learn from, NOT templates to recreate:
Location: agents/langgraph-quick-start (TypeScript) or agents/langgraph-quick-start-py (Python) Learn: LangGraph fundamentals, minimal agent structure Study: Single-node chatbot with OpenAI integration
bashgit clone https://github.com/warden-protocol/community-agents.git cd community-agents/agents/langgraph-quick-start
Location: agents/weather-agent Learn: Simple data fetching, API integration, user-friendly responses Study:
⚠️ DO NOT BUILD: This already exists. Study it, then build something NEW.
Location: agents/coingecko-agent Learn: Schema-Guided Reasoning, complex workflows Study:
⚠️ DO NOT BUILD: This already exists. Study the pattern, apply to new use cases.
Location: agents/portfolio-agent Learn: Multi-source data synthesis, production architecture Study:
⚠️ DO NOT BUILD: This already exists. Study the architecture for your own complex agent.
These examples exist to teach patterns and best practices. For the incentive programme, you MUST create an original, unique agent that solves a different problem. Do NOT simply recreate the Weather Agent, CoinGecko Agent, or Portfolio Agent.
DO NOT clone an example to modify it. Instead:
Use the initialization script to create a fresh project:
bash# Create your unique agent python scripts/init-agent.py my-unique-agent \ --template typescript \ --description "Description of what YOUR agent does" # Navigate to project cd my-unique-agent # Install dependencies npm install # TypeScript # OR pip install -r requirements.txt # Python
This creates a clean starting point, not a copy of existing agents.
Every LangGraph agent follows this basic structure:
your-agent/
├── src/
│ ├── agent.ts/py # Main agent logic (YOUR CODE)
│ ├── graph.ts/py # LangGraph workflow definition (YOUR CODE)
│ └── tools.ts/py # Tool implementations (YOUR CODE)
├── package.json / requirements.txt
├── langgraph.json # LangGraph configuration
└── README.mdKey files to implement:
graph.ts/py - Define your workflow (validate → process → respond)agent.ts/py - Implement your core logictools.ts/py - Integrate external APIs specific to YOUR agent's purposeStudy patterns from examples, apply to YOUR use case:
If building a simple data fetcher (like Weather Agent pattern):
typescript// Define workflow const workflow = new StateGraph({ channels: agentState }) .addNode("fetch", fetchYourData) // YOUR API .addNode("process", processYourData) // YOUR logic .addNode("respond", generateResponse); workflow .addEdge(START, "fetch") .addEdge("fetch", "process") .addEdge("process", "respond") .addEdge("respond", END);
If building complex analysis (like CoinGecko Agent pattern - SGR):
typescript// Define 5-step SGR workflow const workflow = new StateGraph({ channels: agentState }) .addNode("validate", validateYourInput) // YOUR validation .addNode("extract", extractYourParams) // YOUR extraction .addNode("fetch", fetchYourData) // YOUR APIs .addNode("analyze", analyzeYourData) // YOUR analysis .addNode("generate", generateYourResponse); // YOUR formatting workflow .addEdge(START, "validate") .addEdge("validate", "extract") .addEdge("extract", "fetch") .addEdge("fetch", "analyze") .addEdge("analyze", "generate") .addEdge("generate", END);
Key Principles:
CRITICAL: This should be YOUR implementation solving YOUR problem, not a copy of the example agents.
Create .env file:
bash# Required OPENAI_API_KEY=your_openai_key # Required for LangSmith Deployments (cloud) LANGSMITH_API_KEY=your_langsmith_key # Optional - based on your tools WEATHER_API_KEY=your_weather_key COINGECKO_API_KEY=your_coingecko_key ALCHEMY_API_KEY=your_alchemy_key
Getting LangSmith API Key:
.env fileUpdate langgraph.json:
json{ "agent_id": "[YOUR-AGENT-NAME]", "python_version": "3.11", // or omit for TypeScript "dependencies": ["."], "graphs": { "agent": "./src/graph.ts" // or .py }, "env": ".env" }
bash# TypeScript npm run dev # Python langgraph dev
Test your agent's API:
bashcurl -X POST http://localhost:8000/invoke \ -H "Content-Type: application/json" \ -d '{"input": "test query"}'
Pros: Fastest, simplest, managed infrastructure Requirements: LangSmith API key
Steps:
bash1. Push your agent repository to GitHub. 2. Create a new deployment in LangSmith Deployments. 3. Connect the repo, set environment variables, and deploy.
Your agent receives:
Authentication for API calls: When calling your deployed agent, include your LangSmith API key:
bashcurl AGENT_URL/runs/wait \ --request POST \ --header 'Content-Type: application/json' \ --header 'x-api-key: [YOUR-LANGSMITH-API-KEY]' \ --data '{ "assistant_id": "[YOUR-AGENT-ID]", "input": { "messages": [{"role": "user", "content": "test query"}] } }'
Pros: Full control over runtime Requirements:
Basic Docker Setup:
dockerfileFROM node:18 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 8000 CMD ["npm", "start"]
Deploy and note your:
https://your-domain.com/agentOnce your agent is deployed and reachable via HTTPS, register it in Warden Studio:
No additional setup required - your API-accessible agent is ready!
Next step (separate skill): If the user asks to publish in Warden Studio or needs guided UI steps, switch to the OpenClaw skill "Deploy Agent on Warden Studio": https://www.clawhub.ai/Kryptopaid/warden-studio-deploy
typescript// Fetch → Format → Respond async function agent(input: string) { const data = await fetchAPI(input); const formatted = formatData(data); return generateResponse(formatted); }
typescript// Validate → Extract → Fetch → Analyze → Generate async function agent(input: string) { const validated = await validateInput(input); const params = await extractParams(validated); const data = await fetchData(params); const analysis = await analyzeData(data); return generateReport(analysis); }
typescript// Parse → Fetch Multiple → Compare → Summarize async function agent(input: string) { const items = await parseItems(input); const dataArray = await Promise.all( items.map(item => fetchData(item)) ); const comparison = compareData(dataArray); return generateComparison(comparison); }
"Agent not accessible via API"
"LangGraph errors during build"
"OpenAI API errors"
"Agent responses are slow"
The incentive programme is open to OpenClaw agents that deploy to Warden.
These are NEW agent ideas that don't exist yet in the Warden ecosystem. Build one of these (or create your own unique idea):
Web3 Use Cases:
General Use Cases:
Remember: These are IDEAS for new agents. Study the example agents (Weather, CoinGecko, Portfolio) to learn patterns, then build something from this list or create your own unique concept.
Documentation:
community-agents/docs/langgraph-quick-start-ts.mdcommunity-agents/docs/langgraph-quick-start-py.mdcommunity-agents/docs/deploy.mdExample Agents:
agents/weather-agent/README.mdagents/coingecko-agent/README.mdagents/portfolio-agent/README.mdSupport:
bash# Study example agents (DON'T BUILD THESE) git clone https://github.com/warden-protocol/community-agents.git cd community-agents/agents/weather-agent # Study the code cd community-agents/agents/coingecko-agent # Study the patterns # Create YOUR new agent python scripts/init-agent.py my-unique-agent \ --template typescript \ --description "YOUR unique agent description" # Install dependencies (TypeScript) npm install # Install dependencies (Python) pip install -r requirements.txt # Test locally npm run dev # or: langgraph dev # Deploy (LangSmith Deployments) # Use the LangSmith Deployments UI after pushing to GitHub # Build Docker image (for self-hosting) docker build -t my-warden-agent . # Run Docker container docker run -p 8000:8000 my-warden-agent
Before submitting to incentive programme:
Other measured skills in the registry, with their headline benchmark lift.