@agnic/wallet-skills 1.3.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +53 -31
- package/package.json +8 -6
- package/skills/agent-email/SKILL.md +88 -0
- package/skills/ai-gateway/SKILL.md +29 -99
- package/skills/ai-gateway/reference/models-and-options.md +68 -0
- package/skills/authenticate-wallet/SKILL.md +49 -27
- package/skills/check-balance/SKILL.md +28 -29
- package/skills/fund-wallet/SKILL.md +24 -23
- package/skills/get-agent-identity/SKILL.md +33 -27
- package/skills/pay-for-service/SKILL.md +32 -59
- package/skills/pay-for-service/reference/x402-protocol.md +36 -0
- package/skills/search-for-service/SKILL.md +19 -12
- package/skills/agent-email.md +0 -21
- package/skills/agnic/SKILL.md +0 -108
- package/skills/ai-gateway.md +0 -22
- package/skills/authenticate-wallet.md +0 -18
- package/skills/check-balance.md +0 -15
- package/skills/fund-wallet.md +0 -17
- package/skills/get-agent-identity.md +0 -19
- package/skills/pay-for-service.md +0 -16
- package/skills/search-for-service.md +0 -15
- package/skills/send-usdc/SKILL.md +0 -96
- package/skills/send-usdc.md +0 -19
- package/skills/trade-tokens/SKILL.md +0 -107
- package/skills/trade-tokens.md +0 -22
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: check-balance
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Check USDC balance across networks (Base, Solana). Use when the user
|
|
5
|
+
wants to check balance, see how much USDC is available, view funds,
|
|
6
|
+
or verify wallet balance. Covers "check my balance", "how much do I have",
|
|
7
|
+
"show funds", "wallet balance".
|
|
4
8
|
user-invocable: true
|
|
5
9
|
disable-model-invocation: false
|
|
6
|
-
allowed-tools:
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Bash(npx agnic@latest status*)"
|
|
12
|
+
- "Bash(npx agnic@latest balance*)"
|
|
7
13
|
---
|
|
8
14
|
|
|
9
15
|
# Checking USDC Balance
|
|
10
16
|
|
|
11
|
-
Use
|
|
17
|
+
Use `npx agnic@latest balance` to check USDC balance across supported networks.
|
|
12
18
|
|
|
13
|
-
##
|
|
19
|
+
## Authentication
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
Run `npx agnic@latest status --json` to verify. If not authenticated:
|
|
22
|
+
- **Headless (CI/server/agent)**: Set `AGNIC_TOKEN` env var or pass `--token <token>`
|
|
23
|
+
- **Interactive (has browser)**: Run `npx agnic@latest auth login`
|
|
18
24
|
|
|
19
|
-
|
|
25
|
+
See the `authenticate-wallet` skill for details.
|
|
20
26
|
|
|
21
27
|
## Command Syntax
|
|
22
28
|
|
|
@@ -26,31 +32,28 @@ npx agnic@latest balance [--network <network>] [--json]
|
|
|
26
32
|
|
|
27
33
|
## Options
|
|
28
34
|
|
|
29
|
-
| Option
|
|
30
|
-
|
|
|
31
|
-
| `--network <name>`
|
|
32
|
-
| `--json`
|
|
35
|
+
| Option | Description |
|
|
36
|
+
| ------------------ | ----------------------------------------- |
|
|
37
|
+
| `--network <name>` | Filter by network (default: all networks) |
|
|
38
|
+
| `--json` | Output result as JSON |
|
|
33
39
|
|
|
34
40
|
## Supported Networks
|
|
35
41
|
|
|
36
|
-
| Network
|
|
37
|
-
|
|
|
38
|
-
| `base`
|
|
39
|
-
| `base-sepolia`
|
|
40
|
-
| `solana`
|
|
41
|
-
| `solana-devnet
|
|
42
|
+
| Network | Description |
|
|
43
|
+
| --------------- | ---------------------- |
|
|
44
|
+
| `base` | Base mainnet (primary) |
|
|
45
|
+
| `base-sepolia` | Base testnet |
|
|
46
|
+
| `solana` | Solana mainnet |
|
|
47
|
+
| `solana-devnet` | Solana devnet |
|
|
42
48
|
|
|
43
49
|
## Examples
|
|
44
50
|
|
|
45
51
|
```bash
|
|
46
52
|
# Check balance on all networks
|
|
47
|
-
npx agnic@latest balance
|
|
53
|
+
npx agnic@latest balance --json
|
|
48
54
|
|
|
49
55
|
# Check balance on Base mainnet only
|
|
50
|
-
npx agnic@latest balance --network base
|
|
51
|
-
|
|
52
|
-
# Get JSON output
|
|
53
|
-
npx agnic@latest balance --json
|
|
56
|
+
npx agnic@latest balance --network base --json
|
|
54
57
|
```
|
|
55
58
|
|
|
56
59
|
## Expected Output
|
|
@@ -63,13 +66,9 @@ solana 0.00 USDC N/A
|
|
|
63
66
|
solana-devnet 0.00 USDC N/A
|
|
64
67
|
```
|
|
65
68
|
|
|
66
|
-
## Prerequisites
|
|
67
|
-
|
|
68
|
-
- Must be authenticated (`npx agnic@latest status` to check)
|
|
69
|
-
|
|
70
69
|
## Error Handling
|
|
71
70
|
|
|
72
71
|
Common errors:
|
|
73
72
|
|
|
74
|
-
- "Not authenticated"
|
|
75
|
-
- Network timeout
|
|
73
|
+
- "Not authenticated" -- Run `npx agnic@latest auth login` or set `AGNIC_TOKEN`
|
|
74
|
+
- Network timeout -- Try again or specify a single network with `--network base`
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fund-wallet
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Get instructions for funding your Agnic wallet with USDC. Use when the
|
|
5
|
+
user wants to add funds, deposit USDC, top up, or needs more balance.
|
|
6
|
+
Covers "add funds", "deposit", "top up", "fund my wallet",
|
|
7
|
+
"how do I get USDC", "need more balance".
|
|
4
8
|
user-invocable: true
|
|
5
9
|
disable-model-invocation: false
|
|
6
|
-
allowed-tools:
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Bash(npx agnic@latest status*)"
|
|
12
|
+
- "Bash(npx agnic@latest address*)"
|
|
13
|
+
- "Bash(npx agnic@latest balance*)"
|
|
7
14
|
---
|
|
8
15
|
|
|
9
|
-
# Funding the
|
|
16
|
+
# Funding the Agnic Wallet
|
|
10
17
|
|
|
11
|
-
Provide instructions for adding USDC to the user's
|
|
18
|
+
Provide instructions for adding USDC to the user's Agnic wallet on Base.
|
|
12
19
|
|
|
13
|
-
##
|
|
20
|
+
## Authentication
|
|
14
21
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
Run `npx agnic@latest status --json` to verify. If not authenticated:
|
|
23
|
+
- **Headless (CI/server/agent)**: Set `AGNIC_TOKEN` env var or pass `--token <token>`
|
|
24
|
+
- **Interactive (has browser)**: Run `npx agnic@latest auth login`
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
See the `authenticate-wallet` skill for details.
|
|
20
27
|
|
|
21
28
|
## Get Wallet Address
|
|
22
29
|
|
|
@@ -24,16 +31,14 @@ If the wallet is not authenticated, refer to the `authenticate-wallet` skill.
|
|
|
24
31
|
npx agnic@latest address
|
|
25
32
|
```
|
|
26
33
|
|
|
27
|
-
This displays the user's wallet address on each supported network.
|
|
28
|
-
|
|
29
34
|
## Funding Options
|
|
30
35
|
|
|
31
|
-
### Option 1:
|
|
36
|
+
### Option 1: Agnic Dashboard (Recommended)
|
|
32
37
|
|
|
33
|
-
1. Go to [
|
|
38
|
+
1. Go to [app.agnic.ai](https://app.agnic.ai)
|
|
34
39
|
2. Sign in with the same account used in the CLI
|
|
35
40
|
3. Navigate to the dashboard
|
|
36
|
-
4. Use the **"Add Funds"** button to
|
|
41
|
+
4. Use the **"Add Funds"** button to add USDC via card or on-chain funding
|
|
37
42
|
|
|
38
43
|
### Option 2: Direct USDC Transfer
|
|
39
44
|
|
|
@@ -43,7 +48,7 @@ Send USDC directly to the wallet address on **Base network**:
|
|
|
43
48
|
2. From any wallet (MetaMask, Coinbase, Phantom, etc.), send USDC on **Base** to that address
|
|
44
49
|
3. Verify arrival: `npx agnic@latest balance --network base`
|
|
45
50
|
|
|
46
|
-
**Important**: Send USDC on **Base network** only. USDC on other chains (Ethereum mainnet, Arbitrum, etc.) will not appear in the
|
|
51
|
+
**Important**: Send USDC on **Base network** only. USDC on other chains (Ethereum mainnet, Arbitrum, etc.) will not appear in the balance.
|
|
47
52
|
|
|
48
53
|
### Option 3: Bridge from Another Chain
|
|
49
54
|
|
|
@@ -61,19 +66,15 @@ npx agnic@latest balance --network base
|
|
|
61
66
|
|
|
62
67
|
## Important Notes
|
|
63
68
|
|
|
64
|
-
-
|
|
69
|
+
- Agnic wallets use **USDC** (not ETH) for payments
|
|
65
70
|
- **Base network** is the primary chain
|
|
66
71
|
- Minimum recommended balance: **$1.00 USDC** for testing
|
|
67
72
|
- Small amounts of ETH on Base may be needed for gas (auto-handled in most cases)
|
|
68
73
|
|
|
69
|
-
## Prerequisites
|
|
70
|
-
|
|
71
|
-
- Must be authenticated (`npx agnic@latest status` to check)
|
|
72
|
-
|
|
73
74
|
## Error Handling
|
|
74
75
|
|
|
75
76
|
Common errors:
|
|
76
77
|
|
|
77
|
-
- "Not authenticated"
|
|
78
|
-
- Balance shows 0 after transfer
|
|
79
|
-
- Transfer pending
|
|
78
|
+
- "Not authenticated" -- Run `npx agnic@latest auth login` or set `AGNIC_TOKEN`
|
|
79
|
+
- Balance shows 0 after transfer -- Verify the transfer was on Base network (not Ethereum mainnet)
|
|
80
|
+
- Transfer pending -- Base transactions typically confirm in 2-3 seconds
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: get-agent-identity
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Check your agent's on-chain ERC-8004 identity, trust score, and KYA
|
|
5
|
+
credentials. Use when the user wants to see agent identity, check trust
|
|
6
|
+
score, view credentials, or check agent status. Covers "agent ID",
|
|
7
|
+
"trust score", "show my identity", "agent status", "KYA".
|
|
4
8
|
user-invocable: true
|
|
5
9
|
disable-model-invocation: false
|
|
6
|
-
allowed-tools:
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Bash(npx agnic@latest status*)"
|
|
12
|
+
- "Bash(npx agnic@latest agent-identity*)"
|
|
7
13
|
---
|
|
8
14
|
|
|
9
15
|
# Getting Agent Identity
|
|
10
16
|
|
|
11
17
|
Check the user's on-chain ERC-8004 agent identity, trust score, and KYA (Know Your Agent) credentials.
|
|
12
18
|
|
|
13
|
-
##
|
|
19
|
+
## Authentication
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
Run `npx agnic@latest status --json` to verify. If not authenticated:
|
|
22
|
+
- **Headless (CI/server/agent)**: Set `AGNIC_TOKEN` env var or pass `--token <token>`
|
|
23
|
+
- **Interactive (has browser)**: Run `npx agnic@latest auth login`
|
|
18
24
|
|
|
19
|
-
|
|
25
|
+
See the `authenticate-wallet` skill for details.
|
|
20
26
|
|
|
21
27
|
## Check Agent Identity
|
|
22
28
|
|
|
@@ -24,32 +30,32 @@ If the wallet is not authenticated, refer to the `authenticate-wallet` skill.
|
|
|
24
30
|
npx agnic@latest agent-identity --json
|
|
25
31
|
```
|
|
26
32
|
|
|
27
|
-
|
|
28
|
-
- **Agent ID**
|
|
29
|
-
- **Owner address**
|
|
30
|
-
- **Trust score**
|
|
31
|
-
- **Categories**
|
|
32
|
-
- **Status**
|
|
33
|
+
Returns the agent's on-chain identity including:
|
|
34
|
+
- **Agent ID** -- The ERC-721 token ID on the ERC-8004 Identity Registry
|
|
35
|
+
- **Owner address** -- The wallet that owns the agent NFT
|
|
36
|
+
- **Trust score** -- Reputation score (0-100) based on transaction history
|
|
37
|
+
- **Categories** -- Authorized action categories (e.g., payment, general, alcohol)
|
|
38
|
+
- **Status** -- Whether the agent is active or suspended
|
|
33
39
|
|
|
34
40
|
## What is ERC-8004?
|
|
35
41
|
|
|
36
42
|
ERC-8004 ("Trustless Agents") is an Ethereum standard that gives AI agents:
|
|
37
43
|
|
|
38
|
-
| Feature
|
|
39
|
-
|
|
|
40
|
-
| **On-chain identity
|
|
41
|
-
| **Reputation score** | Trust score (0-100) based on on-chain transaction history
|
|
42
|
-
| **KYA credentials**
|
|
43
|
-
| **Delegation**
|
|
44
|
+
| Feature | Description |
|
|
45
|
+
| -------------------- | -------------------------------------------------------------------- |
|
|
46
|
+
| **On-chain identity**| An ERC-721 NFT representing the agent on the Identity Registry |
|
|
47
|
+
| **Reputation score** | Trust score (0-100) based on on-chain transaction history |
|
|
48
|
+
| **KYA credentials** | SD-JWT verifiable credentials for identity verification |
|
|
49
|
+
| **Delegation** | Spending limits and category permissions via KYA delegation credentials |
|
|
44
50
|
|
|
45
51
|
## Contract Addresses
|
|
46
52
|
|
|
47
|
-
| Contract
|
|
48
|
-
|
|
|
53
|
+
| Contract | Network | Address |
|
|
54
|
+
| ----------------- | ------------ | -------------------------------------------- |
|
|
49
55
|
| Identity Registry | Base Mainnet | `0x8004A169FB4a3325136EB29fA0ceB6D2e539a432` |
|
|
50
56
|
| Identity Registry | Base Sepolia | `0x8004A818BFB912233c491871b3d84c89A494BD9e` |
|
|
51
|
-
| Reputation
|
|
52
|
-
| Reputation
|
|
57
|
+
| Reputation | Base Mainnet | `0x8004BAa17C55a88189AE136b182e5fdA19dE9b63` |
|
|
58
|
+
| Reputation | Base Sepolia | `0x8004B663056A597Dffe9eCcC1965A193B7388713` |
|
|
53
59
|
|
|
54
60
|
## Expected Output
|
|
55
61
|
|
|
@@ -68,12 +74,12 @@ ERC-8004 ("Trustless Agents") is an Ethereum standard that gives AI agents:
|
|
|
68
74
|
## Prerequisites
|
|
69
75
|
|
|
70
76
|
- Must be authenticated (`npx agnic@latest status` to check)
|
|
71
|
-
- Agent identity is automatically created during
|
|
77
|
+
- Agent identity is automatically created during Agnic sign-up
|
|
72
78
|
|
|
73
79
|
## Error Handling
|
|
74
80
|
|
|
75
81
|
Common errors:
|
|
76
82
|
|
|
77
|
-
- "Not authenticated"
|
|
78
|
-
- "No agent identity found"
|
|
79
|
-
- "Agent suspended"
|
|
83
|
+
- "Not authenticated" -- Run `npx agnic@latest auth login` or set `AGNIC_TOKEN`
|
|
84
|
+
- "No agent identity found" -- The user may not have an agent registered; create one at [app.agnic.ai](https://app.agnic.ai)
|
|
85
|
+
- "Agent suspended" -- The agent's delegation may have been revoked; contact support
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pay-for-service
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Make paid requests to x402-enabled APIs using USDC on Base.
|
|
5
|
+
Use when the user explicitly asks to call a paid API, make an x402 payment,
|
|
6
|
+
pay for a request, or fetch from a paid endpoint.
|
|
7
|
+
Covers "call this API", "pay for", "use this service", "make a paid call".
|
|
4
8
|
user-invocable: true
|
|
5
|
-
disable-model-invocation:
|
|
6
|
-
|
|
9
|
+
disable-model-invocation: true
|
|
10
|
+
context: fork
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- "Bash(npx agnic@latest status*)"
|
|
13
|
+
- "Bash(npx agnic@latest x402 pay *)"
|
|
14
|
+
- "Bash(npx agnic@latest x402 details *)"
|
|
15
|
+
- "Bash(npx agnic@latest balance*)"
|
|
7
16
|
---
|
|
8
17
|
|
|
9
18
|
# Paying for x402 Services
|
|
10
19
|
|
|
11
|
-
Use
|
|
20
|
+
Use `npx agnic@latest x402 pay` to call x402-enabled API endpoints with automatic USDC payment on Base.
|
|
12
21
|
|
|
13
|
-
##
|
|
22
|
+
## Authentication
|
|
14
23
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
Run `npx agnic@latest status --json` to verify. If not authenticated:
|
|
25
|
+
- **Headless (CI/server/agent)**: Set `AGNIC_TOKEN` env var or pass `--token <token>`
|
|
26
|
+
- **Interactive (has browser)**: Run `npx agnic@latest auth login`
|
|
18
27
|
|
|
19
|
-
|
|
28
|
+
See the `authenticate-wallet` skill for details.
|
|
20
29
|
|
|
21
30
|
## Command Syntax
|
|
22
31
|
|
|
@@ -24,48 +33,15 @@ If the wallet is not authenticated, refer to the `authenticate-wallet` skill.
|
|
|
24
33
|
npx agnic@latest x402 pay <url> [-X <method>] [-d <json>] [-q <params>] [-h <json>] [--max-amount <n>] [--json]
|
|
25
34
|
```
|
|
26
35
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
| Option | Description |
|
|
30
|
-
| ----------------------- | -------------------------------------------------- |
|
|
31
|
-
| `<url>` | Full URL of the x402-enabled API endpoint |
|
|
32
|
-
| `-X, --method <method>` | HTTP method (default: GET) |
|
|
33
|
-
| `-d, --data <json>` | Request body as JSON string |
|
|
34
|
-
| `-q, --query <params>` | Query parameters as JSON string |
|
|
35
|
-
| `-h, --headers <json>` | Custom HTTP headers as JSON string |
|
|
36
|
-
| `--max-amount <amount>` | Max payment in USDC atomic units (1000000 = $1.00) |
|
|
37
|
-
| `--correlation-id <id>` | Group related operations |
|
|
38
|
-
| `--json` | Output as JSON |
|
|
39
|
-
|
|
40
|
-
## USDC Amounts
|
|
41
|
-
|
|
42
|
-
X402 uses USDC atomic units (6 decimals):
|
|
43
|
-
|
|
44
|
-
| Atomic Units | USD |
|
|
45
|
-
| ------------ | ----- |
|
|
46
|
-
| 1000000 | $1.00 |
|
|
47
|
-
| 100000 | $0.10 |
|
|
48
|
-
| 50000 | $0.05 |
|
|
49
|
-
| 10000 | $0.01 |
|
|
50
|
-
|
|
51
|
-
## Input Validation
|
|
52
|
-
|
|
53
|
-
Before constructing the command, validate:
|
|
54
|
-
|
|
55
|
-
- **url**: Must be a valid HTTPS URL (`^https://[^\s;|&]+$`). Reject URLs containing spaces, semicolons, pipes, or backticks.
|
|
56
|
-
- **method**: Must be one of GET, POST, PUT, DELETE, PATCH (case-insensitive).
|
|
57
|
-
- **data**: Must be valid JSON. Parse it first; reject if parsing fails.
|
|
58
|
-
- **max-amount**: Must be a positive integer (`^\d+$`).
|
|
59
|
-
|
|
60
|
-
Do not pass unvalidated user input into the command.
|
|
36
|
+
See `reference/x402-protocol.md` for full options, USDC amounts, and input validation rules.
|
|
61
37
|
|
|
62
38
|
## Workflow
|
|
63
39
|
|
|
64
|
-
1. **Check requirements
|
|
40
|
+
1. **Check requirements** (optional but recommended):
|
|
65
41
|
```bash
|
|
66
42
|
npx agnic@latest x402 details <url>
|
|
67
43
|
```
|
|
68
|
-
|
|
44
|
+
Shows price, method, and schema without making a payment.
|
|
69
45
|
|
|
70
46
|
2. **Verify balance**:
|
|
71
47
|
```bash
|
|
@@ -80,30 +56,27 @@ Do not pass unvalidated user input into the command.
|
|
|
80
56
|
## Examples
|
|
81
57
|
|
|
82
58
|
```bash
|
|
83
|
-
#
|
|
84
|
-
npx agnic@latest x402 pay https://example.com/api/weather
|
|
59
|
+
# GET request (auto-pays)
|
|
60
|
+
npx agnic@latest x402 pay https://example.com/api/weather --json
|
|
85
61
|
|
|
86
|
-
#
|
|
87
|
-
npx agnic@latest x402 pay https://example.com/api/sentiment -X POST -d '{"text": "I love this product"}'
|
|
62
|
+
# POST request with body
|
|
63
|
+
npx agnic@latest x402 pay https://example.com/api/sentiment -X POST -d '{"text": "I love this product"}' --json
|
|
88
64
|
|
|
89
65
|
# Limit max payment to $0.10
|
|
90
|
-
npx agnic@latest x402 pay https://example.com/api/data --max-amount 100000
|
|
91
|
-
|
|
92
|
-
# Get JSON output
|
|
93
|
-
npx agnic@latest x402 pay https://example.com/api/weather --json
|
|
66
|
+
npx agnic@latest x402 pay https://example.com/api/data --max-amount 100000 --json
|
|
94
67
|
```
|
|
95
68
|
|
|
96
69
|
## Prerequisites
|
|
97
70
|
|
|
98
|
-
- Must be authenticated (`npx agnic@latest
|
|
71
|
+
- Must be authenticated (`npx agnic@latest status` to check)
|
|
99
72
|
- Wallet must have sufficient USDC balance on Base
|
|
100
73
|
|
|
101
74
|
## Error Handling
|
|
102
75
|
|
|
103
76
|
Common errors:
|
|
104
77
|
|
|
105
|
-
- "Not authenticated"
|
|
106
|
-
- "Insufficient balance"
|
|
107
|
-
- "No X402 payment requirements found"
|
|
108
|
-
- Invalid JSON in `--data`
|
|
109
|
-
- HTTP 4xx/5xx from the API
|
|
78
|
+
- "Not authenticated" -- Run `npx agnic@latest auth login` or set `AGNIC_TOKEN`
|
|
79
|
+
- "Insufficient balance" -- Fund wallet with USDC (`npx agnic@latest balance` to check)
|
|
80
|
+
- "No X402 payment requirements found" -- URL may not be an x402 endpoint
|
|
81
|
+
- Invalid JSON in `--data` -- Ensure the body is valid JSON before passing
|
|
82
|
+
- HTTP 4xx/5xx from the API -- Show the status code and response body to the user
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# x402 Protocol Reference
|
|
2
|
+
|
|
3
|
+
## Arguments & Options
|
|
4
|
+
|
|
5
|
+
| Option | Description |
|
|
6
|
+
| ----------------------- | -------------------------------------------------- |
|
|
7
|
+
| `<url>` | Full URL of the x402-enabled API endpoint |
|
|
8
|
+
| `-X, --method <method>` | HTTP method (default: GET) |
|
|
9
|
+
| `-d, --data <json>` | Request body as JSON string |
|
|
10
|
+
| `-q, --query <params>` | Query parameters as JSON string |
|
|
11
|
+
| `-h, --headers <json>` | Custom HTTP headers as JSON string |
|
|
12
|
+
| `--max-amount <amount>` | Max payment in USDC atomic units (1000000 = $1.00) |
|
|
13
|
+
| `--correlation-id <id>` | Group related operations |
|
|
14
|
+
| `--json` | Output as JSON |
|
|
15
|
+
|
|
16
|
+
## USDC Amounts
|
|
17
|
+
|
|
18
|
+
x402 uses USDC atomic units (6 decimals):
|
|
19
|
+
|
|
20
|
+
| Atomic Units | USD |
|
|
21
|
+
| ------------ | ----- |
|
|
22
|
+
| 1000000 | $1.00 |
|
|
23
|
+
| 100000 | $0.10 |
|
|
24
|
+
| 50000 | $0.05 |
|
|
25
|
+
| 10000 | $0.01 |
|
|
26
|
+
|
|
27
|
+
## Input Validation
|
|
28
|
+
|
|
29
|
+
Before constructing the command, validate all user-provided values:
|
|
30
|
+
|
|
31
|
+
- **url**: Must be a valid HTTPS URL (`^https://[^\s;|&]+$`). Reject URLs containing spaces, semicolons, pipes, or backticks.
|
|
32
|
+
- **method**: Must be one of GET, POST, PUT, DELETE, PATCH (case-insensitive).
|
|
33
|
+
- **data**: Must be valid JSON. Parse it first; reject if parsing fails.
|
|
34
|
+
- **max-amount**: Must be a positive integer (`^\d+$`).
|
|
35
|
+
|
|
36
|
+
Do not pass unvalidated user input into the command.
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: search-for-service
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Search the x402 bazaar for paid API services. Use when the user wants
|
|
5
|
+
to find APIs, discover services, browse the marketplace, or needs an
|
|
6
|
+
external service. Also use as a fallback when no other skill matches.
|
|
7
|
+
Covers "find me an API", "what services are available", "search for",
|
|
8
|
+
"browse bazaar", "what can I do".
|
|
4
9
|
user-invocable: true
|
|
5
10
|
disable-model-invocation: false
|
|
6
|
-
allowed-tools:
|
|
11
|
+
allowed-tools:
|
|
12
|
+
- "Bash(npx agnic@latest x402 bazaar *)"
|
|
13
|
+
- "Bash(npx agnic@latest x402 details *)"
|
|
7
14
|
---
|
|
8
15
|
|
|
9
16
|
# Searching the x402 Bazaar
|
|
10
17
|
|
|
11
|
-
Use
|
|
18
|
+
Use `npx agnic@latest x402` commands to discover and inspect paid API endpoints on the x402 bazaar marketplace. No authentication or balance is required for searching.
|
|
12
19
|
|
|
13
20
|
## Commands
|
|
14
21
|
|
|
@@ -50,19 +57,19 @@ Inspect an endpoint's x402 payment requirements without paying:
|
|
|
50
57
|
npx agnic@latest x402 details <url> [--json]
|
|
51
58
|
```
|
|
52
59
|
|
|
53
|
-
Auto-detects the correct HTTP method
|
|
60
|
+
Auto-detects the correct HTTP method by trying each until it gets a 402 response, then displays price, accepted payment schemes, network, and input/output schemas.
|
|
54
61
|
|
|
55
62
|
## Examples
|
|
56
63
|
|
|
57
64
|
```bash
|
|
58
65
|
# Search for weather-related paid APIs
|
|
59
|
-
npx agnic@latest x402 bazaar search "weather"
|
|
66
|
+
npx agnic@latest x402 bazaar search "weather" --json
|
|
60
67
|
|
|
61
68
|
# Search with more results
|
|
62
|
-
npx agnic@latest x402 bazaar search "sentiment analysis" -k 10
|
|
69
|
+
npx agnic@latest x402 bazaar search "sentiment analysis" -k 10 --json
|
|
63
70
|
|
|
64
|
-
# Browse all bazaar resources
|
|
65
|
-
npx agnic@latest x402 bazaar list --full
|
|
71
|
+
# Browse all bazaar resources
|
|
72
|
+
npx agnic@latest x402 bazaar list --full --json
|
|
66
73
|
|
|
67
74
|
# Check what an endpoint costs
|
|
68
75
|
npx agnic@latest x402 details https://example.com/api/weather
|
|
@@ -74,12 +81,12 @@ npx agnic@latest x402 details https://example.com/api/weather
|
|
|
74
81
|
|
|
75
82
|
## Next Steps
|
|
76
83
|
|
|
77
|
-
Once you've found a service
|
|
84
|
+
Once you've found a service, use the `pay-for-service` skill to make a paid request.
|
|
78
85
|
|
|
79
86
|
## Error Handling
|
|
80
87
|
|
|
81
88
|
Common errors:
|
|
82
89
|
|
|
83
|
-
- "CDP API returned 429"
|
|
84
|
-
- "No X402 payment requirements found"
|
|
85
|
-
- No results
|
|
90
|
+
- "CDP API returned 429" -- Rate limited; cached data will be used if available
|
|
91
|
+
- "No X402 payment requirements found" -- URL may not be an x402 endpoint
|
|
92
|
+
- No results -- Try broadening the search query or using different keywords
|
package/skills/agent-email.md
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agent-email
|
|
3
|
-
description: Manage your agent's email address. Use when the user asks about agent email, sending email, checking inbox, or email setup.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Instructions
|
|
7
|
-
|
|
8
|
-
1. Check if agent has an email: `npx agnic@latest email address --json`
|
|
9
|
-
2. If no email exists, create one: `npx agnic@latest email setup --json`
|
|
10
|
-
3. For inbox: `npx agnic@latest email inbox --limit 20 --json`
|
|
11
|
-
4. To send: `npx agnic@latest email send --to <address> --subject "<subject>" --body "<body>"`
|
|
12
|
-
5. To reply: `npx agnic@latest email reply --message-id <id> --body "<reply>"`
|
|
13
|
-
|
|
14
|
-
Each agent gets a unique address like `agent-123@agnic.ai`. Emails are stored with 30-day retention.
|
|
15
|
-
|
|
16
|
-
## Allowed Tools
|
|
17
|
-
- npx agnic@latest email address
|
|
18
|
-
- npx agnic@latest email setup
|
|
19
|
-
- npx agnic@latest email inbox
|
|
20
|
-
- npx agnic@latest email send
|
|
21
|
-
- npx agnic@latest email reply
|
package/skills/agnic/SKILL.md
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agnic
|
|
3
|
-
description: >
|
|
4
|
-
Complete AI agent wallet with payments, trading, email, and on-chain identity.
|
|
5
|
-
Use when the user wants to manage their agent's wallet, make payments, trade tokens,
|
|
6
|
-
send/receive email, or check their agent identity.
|
|
7
|
-
user-invocable: true
|
|
8
|
-
disable-model-invocation: false
|
|
9
|
-
allowed-tools: ["Bash(npx agnic@latest *)"]
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## Agnic — Unified Agent Wallet Skill
|
|
13
|
-
|
|
14
|
-
This skill gives your AI agent a full identity stack: wallet, email, payments, trading, and on-chain identity.
|
|
15
|
-
|
|
16
|
-
### Authentication
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
npx agnic@latest auth login # Opens browser for OAuth login
|
|
20
|
-
npx agnic@latest auth logout # Clear stored credentials
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Balance & Funding
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
npx agnic@latest balance --json # All networks
|
|
27
|
-
npx agnic@latest balance --network base --json # Specific network
|
|
28
|
-
npx agnic@latest address # Show wallet address
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Supported networks: `base`, `solana`, `base-sepolia`, `solana-devnet`
|
|
32
|
-
|
|
33
|
-
### X402 Payments
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# Search for APIs
|
|
37
|
-
npx agnic@latest x402 search "weather data" --json
|
|
38
|
-
|
|
39
|
-
# Preview cost before paying
|
|
40
|
-
npx agnic@latest x402 preview <url>
|
|
41
|
-
|
|
42
|
-
# Make a paid API call
|
|
43
|
-
npx agnic@latest x402 pay <url> --method GET --json
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Token Trading
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# Get a quote
|
|
50
|
-
npx agnic@latest trade quote 10 USDC ETH --json
|
|
51
|
-
|
|
52
|
-
# Execute a trade (Base mainnet only)
|
|
53
|
-
npx agnic@latest trade 10 USDC ETH --json
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Supported tokens: USDC, ETH, WETH, cbETH, DAI, AERO
|
|
57
|
-
|
|
58
|
-
### Send USDC
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
npx agnic@latest send <amount> <address> --network base --json
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Agent Identity
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
npx agnic@latest agent-identity --json # ERC-8004 identity, trust score, delegation
|
|
68
|
-
npx agnic@latest status --json # General account status
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Agent Email
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
npx agnic@latest email address --json # Show email alias
|
|
75
|
-
npx agnic@latest email setup --display-name "My Agent" # Create email alias
|
|
76
|
-
npx agnic@latest email inbox --limit 10 --json # Check inbox
|
|
77
|
-
npx agnic@latest email send --to user@example.com --subject "Hello" --body "Message"
|
|
78
|
-
npx agnic@latest email reply --message-id <id> --body "Reply text"
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### AI Gateway
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# List available AI models
|
|
85
|
-
npx agnic@latest ai models --json
|
|
86
|
-
npx agnic@latest ai models --provider openai --json
|
|
87
|
-
|
|
88
|
-
# Chat with an AI model
|
|
89
|
-
npx agnic@latest ai chat --model openai/gpt-4o --prompt 'Explain quantum computing' --json
|
|
90
|
-
npx agnic@latest ai chat --model meta-llama/llama-3.3-70b --prompt 'Summarize this text' --json
|
|
91
|
-
|
|
92
|
-
# Generate an image
|
|
93
|
-
npx agnic@latest ai image --prompt 'A sunset over mountains' --output sunset.png
|
|
94
|
-
npx agnic@latest ai image --prompt 'Logo design' --aspect-ratio 16:9 --output logo.png
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
340+ models from OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek, and more.
|
|
98
|
-
Model format: `provider/model-name` (e.g., `openai/gpt-4o`, `google/gemini-2.5-flash-image`)
|
|
99
|
-
Free models: `meta-llama/*`, `google/gemma-*`, `mistralai/*`
|
|
100
|
-
|
|
101
|
-
### Workflow: Sign Up + Pay + Report
|
|
102
|
-
|
|
103
|
-
1. Check auth: `npx agnic@latest status --json`
|
|
104
|
-
2. Sign up for a service using agent email (`email send`)
|
|
105
|
-
3. Check inbox for verification (`email inbox`)
|
|
106
|
-
4. Reply to verify (`email reply`)
|
|
107
|
-
5. Make paid API call (`x402 pay`)
|
|
108
|
-
6. Email results to user (`email send`)
|