home / skills / openclaw / skills / zapper

zapper skill

/skills/spirosrap/zapper

This skill queries DeFi portfolio data across multiple chains via Zapper to help you monitor balances, positions, NFTs, and transactions quickly.

npx playbooks add skill openclaw/skills --skill zapper

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
2.7 KB
---
name: zapper
description: Query DeFi portfolio data across 50+ chains via Zapper's GraphQL API. Use when the user wants to check wallet balances, DeFi positions, NFT holdings, token prices, or transaction history. Supports Base, Ethereum, Polygon, Arbitrum, Optimism, and more. Requires ZAPPER_API_KEY.
metadata: {"clawdbot":{"emoji":"⚡","homepage":"https://zapper.xyz","requires":{"bins":["curl","jq","python3"]}}}
---

# Zapper Skill

Query DeFi portfolio data across 50+ chains via Zapper's GraphQL API.

## Quick Start

### Setup

Get your API key from [Zapper Dashboard](https://dashboard.zapper.xyz/settings/api) (free tier available):

```bash
mkdir -p ~/.clawdbot/skills/zapper
cat > ~/.clawdbot/skills/zapper/config.json << 'EOF'
{
  "apiKey": "YOUR_ZAPPER_API_KEY"
}
EOF
```

### Basic Usage

```bash
# Portfolio summary
scripts/zapper.sh portfolio 0x...

# Token holdings
scripts/zapper.sh tokens 0x...

# DeFi positions
scripts/zapper.sh apps 0x...

# NFT holdings
scripts/zapper.sh nfts 0x...

# Token price
scripts/zapper.sh price ETH

# Recent transactions
scripts/zapper.sh tx 0x...

# Unclaimed rewards
scripts/zapper.sh claimables 0x...
```

## Commands

| Command | Description | Example |
|---------|-------------|---------|
| `portfolio <address>` | Token balances + totals across all chains | `zapper.sh portfolio 0x123...` |
| `tokens <address>` | Detailed token holdings | `zapper.sh tokens 0x123...` |
| `apps <address>` | DeFi positions (LPs, lending, staking) | `zapper.sh apps 0x123...` |
| `nfts <address>` | NFT holdings | `zapper.sh nfts 0x123...` |
| `price <symbol>` | Token price lookup | `zapper.sh price ETH` |
| `tx <address>` | Recent transactions (human-readable) | `zapper.sh tx 0x123...` |
| `claimables <address>` | Unclaimed rewards | `zapper.sh claimables 0x123...` |

## Supported Networks

Zapper supports 50+ chains including:

- Ethereum
- Base
- Polygon
- Arbitrum
- Optimism
- Avalanche
- BNB Chain
- zkSync
- Linea
- Scroll
- And more...

## Use Cases

- **Portfolio tracking**: Aggregate all DeFi positions across chains
- **Yield hunting**: Check claimables and unclaimed rewards
- **NFT portfolio**: Track NFT holdings across marketplaces
- **Transaction history**: Human-readable on-chain activity
- **Token prices**: Quick price lookups

## API Reference

All endpoints use `POST https://public.zapper.xyz/graphql` with GraphQL queries.

See [references/api.md](references/api.md) for full API documentation.

## Requirements

- `curl` - HTTP requests
- `jq` - JSON parsing
- `python3` - Formatting output
- Zapper API key (free tier available)

## Notes

- API key is required for all endpoints
- Rate limits apply based on your Zapper plan
- GraphQL queries allow flexible data selection

Overview

This skill queries DeFi portfolio data across 50+ chains using Zapper's GraphQL API. It aggregates wallet balances, DeFi positions, NFT holdings, token prices, and recent transactions into human-readable output. The skill requires a ZAPPER_API_KEY to authenticate requests. It supports Base, Ethereum, Polygon, Arbitrum, Optimism, and many more networks.

How this skill works

The skill sends authenticated GraphQL POST requests to Zapper's public API and parses results into concise summaries. It exposes commands for portfolio summaries, detailed token lists, DeFi app positions, NFTs, price lookups, transaction history, and claimable rewards. Responses are formatted for terminal or script consumption using curl, jq, and Python helpers included in the skill.

When to use it

  • You want a cross-chain aggregated wallet balance and breakdown.
  • You need a readable list of DeFi positions (LPs, lending, staking) for an address.
  • You want to list NFTs held by an address across multiple chains.
  • You need quick token price lookups via symbol.
  • You want to find unclaimed rewards or claimable yield for a wallet.

Best practices

  • Provide your Zapper API key in the skill config to avoid authentication errors.
  • Query specific endpoints for targeted data (tokens, apps, nfts) to reduce payload and rate usage.
  • Cache frequent price lookups locally to stay within rate limits.
  • Validate and normalize addresses before requesting to avoid GraphQL errors.
  • Limit cross-chain full portfolio queries for high-frequency polling to reduce API usage.

Example use cases

  • Generate a multi-chain portfolio report for a single wallet before rebalancing.
  • Identify unclaimed staking or farming rewards across chains for yield optimizers.
  • Export token holdings and USD valuations for tax or accounting workflows.
  • Inspect recent human-readable transactions to audit wallet activity.
  • Check a token symbol price before submitting a trading order or swap.

FAQ

Do I need an API key?

Yes. The skill requires a ZAPPER_API_KEY from your Zapper dashboard; include it in the skill config before using any commands.

Which networks are supported?

Zapper supports 50+ chains including Ethereum, Base, Polygon, Arbitrum, Optimism, Avalanche, BNB Chain, zkSync, Linea, Scroll, and more; the skill leverages that coverage.