@gblin-protocol/mcp-server 0.1.21 → 0.2.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/README.md CHANGED
@@ -1,438 +1,441 @@
1
- # GBLIN MCP Server
2
-
3
- > **Treasury standard for AI agents on Base mainnet.** A Model Context Protocol (MCP) server that lets autonomous agents hold capital in GBLIN — a diversified, Crash-Shield-protected on-chain index — and Just-In-Time swap to USDC the millisecond they need to pay an [x402](https://docs.cdp.coinbase.com/x402/welcome) invoice.
4
-
5
- [![npm](https://img.shields.io/npm/v/@gblin-protocol/mcp-server.svg)](https://www.npmjs.com/package/@gblin-protocol/mcp-server)
6
- [![CI](https://github.com/gblinproject/GBLIN-MCP/actions/workflows/ci.yml/badge.svg)](https://github.com/gblinproject/GBLIN-MCP/actions/workflows/ci.yml)
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
8
- [![Base Mainnet](https://img.shields.io/badge/network-Base%20mainnet-0052FF)](https://basescan.org/address/0x36C81d7E1966310F305eA637e761Cf77F90852f0)
9
- [![Governance: 48h Timelock](https://img.shields.io/badge/governance-48h%20Timelock-1f6feb)](https://basescan.org/address/0x6aBeC8716fFeEcf7C3D6e68255b4797113E8e5Dd)
10
- [![Base MCP Plugin](https://img.shields.io/badge/Base%20MCP-PR%20%2356-blue)](https://github.com/base/skills/pull/56)
11
- [![x402 Manifest](https://img.shields.io/badge/x402-manifest-green)](https://gblin.digital/.well-known/x402)
12
- [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-Active-success)](https://registry.modelcontextprotocol.io)
13
- [![Glama Score](https://img.shields.io/badge/Glama-100%25-brightgreen)](https://glama.ai/mcp/servers/gblinproject/GBLIN-MCP)
14
-
15
- 📖 **Full documentation and Quick Start:** [gblin.digital/agents](https://gblin.digital/agents)
16
-
17
- ---
18
-
19
- ## ElizaOS Plugin
20
-
21
- For agents running on **ElizaOS**, install the companion plugin:
22
-
23
- ```bash
24
- npm install plugin-gblin
25
- # or: elizaos plugins add gblin
26
- ```
27
-
28
- It exposes three native Actions (`CHECK_GBLIN_TREASURY_HEALTH`, `INVEST_IDLE_USDC_GBLIN`, `RESCUE_USDC_FROM_GBLIN`) and a Provider that injects live NAV + Crash Shield status into the agent context on every loop.
29
-
30
- → [Full Eliza plugin docs](https://github.com/gblinproject/GBLIN_PLUGIN)
31
-
32
- ---
33
-
34
- ## AI assistant discovery — `gblin-init`
35
-
36
- Drop an `AGENTS.md` treasury policy into your repo so every modern AI coding
37
- assistant (Claude Code, Cursor, Windsurf, GitHub Copilot, Codex) automatically
38
- discovers GBLIN when it works on your codebase:
39
-
40
- ```bash
41
- npx -p @gblin-protocol/mcp-server gblin-init
42
- ```
43
-
44
- The command is **idempotent and safe**:
45
-
46
- - If `AGENTS.md` does not exist → creates it from the canonical template at
47
- [`gblin.digital/AGENTS.template.md`](https://gblin.digital/AGENTS.template.md).
48
- - If `AGENTS.md` exists → appends a clearly delimited GBLIN block at the
49
- bottom; your own content is never touched.
50
- - Re-running is a no-op (detected via stable HTML markers).
51
- - `--dry-run` prints what it would do without writing.
52
- - `--force` refreshes the block to the latest version.
53
-
54
- It also runs offline thanks to a bundled fallback template.
55
-
56
- ### Postinstall hint
57
-
58
- When the package is installed as a regular dependency (`npm i @gblin-protocol/mcp-server`),
59
- a short tip is printed once suggesting the command above. **No files are
60
- written** during postinstall — security-friendly and Socket-compliant. Set
61
- `GBLIN_SKIP_HINT=1` to silence it.
62
-
63
- ---
64
-
65
- ## Trust & Governance
66
-
67
- **GBLIN V6 is governed by a 48h Timelock Controller** — every admin operation (parameter change, oracle update, ownership transfer) is enforced on-chain to wait **172,800 seconds** before execution. Agents and integrators can verify this directly on BaseScan.
68
-
69
- | Component | Address | Role |
70
- |---|---|---|
71
- | **GBLIN V6 token** | [`0x36C81d7E...52f0`](https://basescan.org/address/0x36C81d7E1966310F305eA637e761Cf77F90852f0) | Index contract (production) |
72
- | **Timelock Controller** | [`0x6aBeC8716...8e5Dd`](https://basescan.org/address/0x6aBeC8716fFeEcf7C3D6e68255b4797113E8e5Dd) | 48h immutable delay, 14d grace period |
73
- | **Ownership transfer tx** | [`0xb653f54f...edaaf`](https://basescan.org/tx/0xb653f54ffa9b1764b41932e6a411077e7e34550605303f15d90900de682edaaf) | Transferred at block 46160610 |
74
-
75
- Properties enforced at the contract level:
76
- - `MIN_DELAY` is **immutable** (override of `updateDelay` reverts permanently)
77
- - `PROPOSER_ROLE` and `CANCELLER_ROLE` are **strictly separated** (constructor reverts on overlap)
78
- - `EXECUTOR_ROLE` is open (`address(0)`) — anyone can execute a matured operation, anti-censorship
79
- - The timelock is **self-administered**: every role/config change must itself go through the 48h delay
80
-
81
- This is why the `get_governance_state` tool returns `owner_is_timelock: true` and a verifiable `min_delay_seconds: 172800`. AI agents can use these flags to gate trust-sensitive actions.
82
-
83
- ---
84
-
85
- ## Why this exists
86
-
87
- AI agents today hold their working capital in **USDC**. USDC sits flat: zero yield, full inflation exposure.
88
-
89
- **GBLIN** is an on-chain index on Base (45% cbBTC + 45% WETH + 10% USDC) with an algorithmic Crash Shield that adaptively reduces risk-asset exposure as drawdown rises (V6 adaptive threshold, from ~15%). GBLIN is managed crypto exposure with capped drawdown — a calmer way to hold BTC/ETH risk for **surplus** capital, not a substitute for USDC (it can still lose value in a crash). Agents settle x402 invoices instantly via Just-In-Time GBLIN→USDC redemption.
90
-
91
- This server exposes that capability to any LLM agent through the standard MCP protocol.
92
-
93
- ---
94
-
95
- ## Quick start
96
-
97
- ### Claude Desktop
98
-
99
- Add to `claude_desktop_config.json` (on Windows: `%APPDATA%\Claude\claude_desktop_config.json`):
100
-
101
- ```json
102
- {
103
- "mcpServers": {
104
- "gblin": {
105
- "command": "npx",
106
- "args": ["-y", "@gblin-protocol/mcp-server"]
107
- }
108
- }
109
- }
110
- ```
111
-
112
- Restart Claude Desktop. The 9 GBLIN tools appear in the tool picker.
113
-
114
- ### Windsurf / Cursor
115
-
116
- Add to `~/.codeium/windsurf/mcp_config.json` (Windsurf) or the equivalent Cursor MCP config:
117
-
118
- ```json
119
- {
120
- "mcpServers": {
121
- "gblin": {
122
- "command": "npx",
123
- "args": ["-y", "@gblin-protocol/mcp-server"],
124
- "env": {
125
- "GBLIN_RPC_URL": "https://base-rpc.publicnode.com"
126
- }
127
- }
128
- }
129
- }
130
- ```
131
-
132
- Refresh MCP servers from the IDE settings (or restart). The tools become callable inline.
133
-
134
- ### Coinbase AgentKit (TypeScript)
135
-
136
- ```ts
137
- import { MCPClient } from "@modelcontextprotocol/sdk/client/index.js";
138
- import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
139
-
140
- const transport = new StdioClientTransport({
141
- command: "npx",
142
- args: ["-y", "@gblin-protocol/mcp-server"],
143
- });
144
- const client = new MCPClient({ name: "my-agent", version: "1.0.0" });
145
- await client.connect(transport);
146
-
147
- // List tools
148
- const { tools } = await client.listTools();
149
-
150
- // Quote a JIT payment of $0.50
151
- const jit = await client.callTool({
152
- name: "swap_gblin_to_usdc_jit",
153
- arguments: { usdc_needed: "0.50", wallet_address: "0xYourAgent..." },
154
- });
155
- ```
156
-
157
- ### ElizaOS / custom
158
-
159
- Any framework that speaks MCP over stdio works:
160
-
161
- ```bash
162
- npx @gblin-protocol/mcp-server
163
- ```
164
-
165
- Also supports Cline, Continue.dev, and any agent that implements the MCP client spec.
166
-
167
- ---
168
-
169
- ## The 9 tools
170
-
171
- ### Free tools (no payment required)
172
-
173
- | Tool | Purpose |
174
- |---|---|
175
- | `get_treasury_state` | NAV in USD + basket composition + Crash Shield status |
176
- | `quote_safe_swap` | Preview buy or sell with dynamic slippage buffer |
177
- | `swap_gblin_to_usdc_jit` | **The x402 magic**: generate atomic GBLIN→USDC calldata (free) |
178
- | `invest_usdc_to_gblin` | Convert USDC earnings into GBLIN treasury (MEV-safe) (free) |
179
- | `get_governance_state` | Verify owner == 48h Timelock + pending asset proposals + min delay |
180
- | `share_skill_with_peer` | Generate a portable skill seed to onboard a peer agent + embedded referral code |
181
-
182
- ### Paid tools (x402 micropayments)
183
-
184
- | Tool | Price | Purpose |
185
- |---|---|---|
186
- | `get_market_risk_regime` | $0.002 USDC | **Start here**: BTC/ETH risk regime (calm/elevated/crash) + severity + risk posture, from the on-chain Crash Shield |
187
- | `analyze_treasury_health` | $0.003 USDC | Balances + gas + runway + rebalance advice |
188
- | `find_keeper_bounty` | $0.001 USDC | **GBLIN pays you**: check if a rebalance bounty is available (0.0001 ETH reward, no capital required) |
189
-
190
- All tools return structured JSON. All values are quoted on-chain (NAV via `quoteSellGBLIN` × Chainlink ETH/USD, with 24h staleness guard). No mock data.
191
-
192
- **Live verification:** the test suite (`npm test`) runs all eight tools against Base mainnet and confirms calldata generation, oracle freshness, slippage math, and governance state. See the [latest CI run](https://github.com/gblinproject/GBLIN-MCP/actions).
193
-
194
- ---
195
-
196
- ## x402 micropayments
197
-
198
- The paid tools use the **x402 protocol** for instant micropayments. Here's how it works:
199
-
200
- ### Payment flow
201
-
202
- 1. **First call** (without payment): The tool returns a 402 manifest with payment details
203
- 2. **Pay via facilitator**: Send a POST request to the facilitator with the payment details
204
- 3. **Receive PaymentProof**: The facilitator returns a signed proof of payment
205
- 4. **Second call** (with `_payment`): Include the base64-encoded PaymentProof in the `_payment` field
206
-
207
- ### Example (analyze_treasury_health)
208
-
209
- ```bash
210
- # Step 1: Get payment manifest
211
- npx @gblin-protocol/mcp-server analyze_treasury_health '{"wallet_address":"0x..."}'
212
- # Returns: 402 error with payment details
213
-
214
- # Step 2: Pay via facilitator
215
- curl -X POST https://x402.org/facilitator/pay \
216
- -H "Content-Type: application/json" \
217
- -d '{
218
- "amount": "0.003",
219
- "currency": "USDC",
220
- "recipient": "0x0ebA5d314F4f5Dcb7A094953Fa9311a45172dd1B",
221
- "chainId": 8453
222
- }'
223
- # Returns: PaymentProof JSON
224
-
225
- # Step 3: Call tool with payment
226
- npx @gblin-protocol/mcp-server analyze_treasury_health \
227
- '{"wallet_address":"0x...", "_payment":"<base64 PaymentProof>"}'
228
- # Returns: Treasury analysis results
229
- ```
230
-
231
- ### Payment recipients
232
-
233
- - **Default recipient**: `0x0ebA5d314F4f5Dcb7A094953Fa9311a45172dd1B`
234
- - **Override**: Set `RECIPIENT_WALLET` environment variable to use your own wallet
235
-
236
- ### Supported facilitators
237
-
238
- - **Primary**: `https://x402.org/facilitator` (Coinbase-maintained reference implementation)
239
- - **Override**: Set `X402_FACILITATOR_URL` environment variable
240
-
241
- All payments are processed on **Base mainnet** using USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913).
242
-
243
- ---
244
-
245
- ## Architectural decisions
246
-
247
- ### Native atomic swap
248
-
249
- The GBLIN contract exposes `sellGBLINForToken(amount, targetToken, fee, minOut)`. This burns GBLIN, swaps the basket → WETH → target token in a **single transaction**. No batched UserOp, no ERC-4337 dependency, no risk of half-finished JIT.
250
-
251
- The MCP returns calldata that works identically on:
252
- - **EOA wallets** (Privy, MetaMask, raw private key)
253
- - **ERC-4337 smart accounts** (Safe, Coinbase smart account)
254
- - **EIP-7702 delegated EOAs** (Pectra+)
255
-
256
- ### Dynamic slippage
257
-
258
- Slippage tolerance scales with on-chain risk regime:
259
-
260
- | Condition | Buffer |
261
- |---|---|
262
- | Normal market | **2.5%** |
263
- | Crash Shield active (≥1 basket asset slashed) | **4.0%** |
264
-
265
- The buffer is applied on top of the contract's internal `maxInternalSlippage` (200 bps), absorbing oracle drift and Uniswap pool variance.
266
-
267
- ### MEV protection
268
-
269
- `invest_usdc_to_gblin` **never** passes `minOut = 0`. Both `minWethOut` and `minGblinOut` are computed from on-chain quotes plus the dynamic slippage buffer. This eliminates the sandwich-attack surface that plagues naïve buy-with-token tools.
270
-
271
- ### Cooldown enforcement
272
-
273
- The contract enforces a 120-second sell lock after each buy. The JIT tool reads `lastDepositTime` and the **on-chain `block.timestamp`** (never `Date.now()`) and returns a clear `CooldownActive` error with the exact seconds remaining if the swap would revert.
274
-
275
- ---
276
-
277
- ## Configuration
278
-
279
- The server reads `GBLIN_RPC_URL` from the environment. With no env var it falls back to `https://base-rpc.publicnode.com` (free, no key, generous limits).
280
-
281
- For production load (>100 concurrent agents) use a dedicated provider:
282
-
283
- ```bash
284
- export GBLIN_RPC_URL="https://base-mainnet.g.alchemy.com/v2/YOUR_KEY"
285
- npx @gblin-protocol/mcp-server
286
- ```
287
-
288
- See `.env.example` for the full list.
289
-
290
- ---
291
-
292
- ## Development
293
-
294
- ```bash
295
- git clone https://github.com/gblinproject/GBLIN-MCP
296
- cd GBLIN-MCP
297
- npm install
298
- npm run build
299
- npm test # live read-only smoke test against Base mainnet
300
- npm start # run the compiled server
301
- ```
302
-
303
- Project layout:
304
-
305
- ```
306
- src/
307
- config.ts # network constants, addresses, slippage params
308
- abi.ts # GBLIN_V5 + Chainlink + ERC-20 ABIs
309
- client.ts # viem PublicClient + on-chain timestamp helper
310
- helpers.ts # NAV, basket state, slippage, cooldown, reverse quote
311
- keeper.ts # keeper bounty finder (incentivizedRebalance math)
312
- tools.ts # the 9 tool implementations + zod schemas
313
- index.ts # MCP stdio server entry
314
- scripts/
315
- test.ts # live smoke test
316
- ```
317
-
318
- ---
319
-
320
- ## Security notes
321
-
322
- - The server is **read-only**. It never holds, signs, or broadcasts.
323
- - All quotes are derived from on-chain calls + Chainlink oracles. Stale or negative oracle answers cause the tool to abort with `OracleStale` / `OracleDead`.
324
- - The agent's wallet is the sole signer. Calldata returned by tools is plain ABI-encoded bytes — review before broadcasting in untrusted environments.
325
- - No telemetry, no analytics, no remote dependencies beyond the configured RPC.
326
-
327
- ---
328
-
329
- ## Roadmap
330
-
331
- - **v0.2**: Uniswap V3 QuoterV2 integration for sub-1% slippage precision
332
- - **v0.3**: Permit2 support (skip the approve step for x402 reinvestment)
333
- - **v0.4**: Streamable HTTP transport for hosted multi-agent setups
334
- - **v1.0**: Audited contract integration + remote-only deployment guide
335
-
336
- ---
337
-
338
- ## Links
339
-
340
- - **Contract**: [0x36C81d7E19…52f0](https://basescan.org/address/0x36C81d7E1966310F305eA637e761Cf77F90852f0)
341
- - **Protocol site**: https://gblin.digital
342
- - **Agent docs**: https://gblin.digital/agents
343
- - **Issues**: https://github.com/gblinproject/GBLIN-MCP/issues
344
-
345
- MIT © 2026 GBLIN Protocol
346
-
347
- ## Agent-to-Agent Skill Propagation (v0.1.9+)
348
-
349
- GBLIN MCP includes a unique tool — `share_skill_with_peer` — that lets one AI agent transfer treasury management capabilities to another agent.
350
-
351
- When agent A meets agent B in a multi-agent context (delegated task, x402 payment flow, shared workspace), agent A can call `share_skill_with_peer` to generate a portable JSON "skill seed". The seed contains:
352
-
353
- - Install instructions for the GBLIN MCP server
354
- - A working transaction example with reference TX on Basescan
355
- - Agent A's referral code (derived from its wallet)
356
- - The full natural-language explanation of GBLIN
357
-
358
- Agent B can install the server in seconds using the seed. From that moment, every GBLIN transaction agent B executes includes agent A's referral code in the calldata via ERC-8021 Builder Code (`bc_gbdo32j0`). A small portion of the protocol fee (0.05% of transaction value) is redirected to agent A's wallet — sourced from the existing protocol fee split, not added on top.
359
-
360
- This creates a viral propagation mechanism for treasury skills across the agent ecosystem, while economically rewarding agents who evangelize good treasury practices.
361
-
362
- No additional infrastructure is required. The mechanism is entirely on-chain via the existing Builder Code system.
363
-
364
- ## Keeper Bounty System (v0.1.11+)
365
-
366
- GBLIN is one of the few protocols that **pays AI agents** instead of charging them.
367
-
368
- When the treasury pool drifts from its target allocation, any agent can call `find_keeper_bounty` to check if a profitable rebalance is available. If one exists, the tool returns ready-to-send calldata. The agent broadcasts the transaction and receives **0.0001 ETH** from the protocol's stability fund — the swap uses the contract's own capital; the caller only pays gas (~$0.01 on Base).
369
-
370
- ```json
371
- // Example response when a bounty is available
372
- {
373
- "bountyAvailable": true,
374
- "direction": "WETH->asset",
375
- "estimatedRewardEth": "0.0001",
376
- "target": "0x36C81d7E1966310F305eA637e761Cf77F90852f0",
377
- "calldata": "0x...",
378
- "value": "0",
379
- "note": "Send this calldata to earn the reward. The swap uses the contract's own funds."
380
- }
381
- ```
382
-
383
- For continuous income, poll `find_keeper_bounty` on an interval (e.g. every 5–15 minutes). A live keeper leaderboard is at [gblin.digital/keepers](https://gblin.digital/keepers).
384
-
385
- ## Discovery & Trust
386
-
387
- GBLIN exposes machine-readable discovery files for AI agents and protocols:
388
-
389
- - **x402 Manifest:** https://gblin.digital/.well-known/x402 — full list of paid endpoints with prices, chain ID, and currency
390
- - **LLM Discovery:** https://gblin.digital/api/x402/llms.txt — human-readable protocol summary (free, no paywall)
391
- - **Base MCP Plugin:** [PR #56 on base/skills](https://github.com/base/skills/pull/56) — official integration in review
392
-
393
- The MCP server in this repo provides the same operations as the x402 HTTP endpoints, but exposed via the Model Context Protocol for direct agent integration (Claude Desktop, Cursor, Windsurf, ElizaOS, etc.).
394
-
395
- ## GBLIN Sentinel — x402 Data Agent Example
396
-
397
- [GBLIN Sentinel](https://gblin-sentinel.vercel.app) is an open-source reference implementation of an autonomous AI agent that **sells** on-chain data via x402 micropayments. It demonstrates the full x402 producer pattern on Base.
398
-
399
- | Endpoint | Price | Data |
400
- |---|---|---|
401
- | `/api/data/base-risk-pulse` | $0.002 USDC | Chainlink risk signal: `normal`/`caution`/`risk-off` for ETH, BTC, USDC |
402
- | `/api/data/gblin-analytics` | $0.002 USDC | GBLIN treasury state, basket weights, keeper availability |
403
- | `/api/data/keeper-opps` | $0.002 USDC | Live keeper bounty check with MCP tool reference |
404
-
405
- Discovery:
406
- - x402 manifest: https://gblin-sentinel.vercel.app/.well-known/x402
407
- - LLM reference: https://gblin-sentinel.vercel.app/llms.txt
408
- - Source: https://github.com/gblinproject/gblin-sentinel
409
-
410
- Any agent using this MCP server can call `base-risk-pulse` before investing to gate treasury actions on current market risk signal.
411
-
412
- ## GBLIN Aureus — Autonomous Trading Agent (Track-Record Engine)
413
-
414
- [Aureus](https://gblin.digital/aureus) is an autonomous catalyst & rotation agent that trades crypto, equities, indices and metals on Base — and **cannot lie about its results**: every thesis is keccak-hashed and committed on-chain *before* the agent acts, then revealed at close. Win or lose, the record is permanent and independently verifiable. No cherry-picked screenshots.
415
-
416
- **Status: DRY-RUN validation.** Aureus runs the full loop on live market data with zero real funds. It graduates to real capital only if it passes a public gate: 30–50 closed trades, profit factor > 1.3, max drawdown < 10%, zero liquidations. The live dashboard publishes every metric in real time: [gblin.digital/aureus](https://gblin.digital/aureus).
417
-
418
- Under the hood (the boring parts that keep capital alive):
419
-
420
- - **Risk engine**: volatility-targeted sizing, stops always inside the liquidation distance, mark-to-market equity with automatic drawdown halt, 10-second stop watcher
421
- - **Multi-venue funding carry**: delta-neutral funding harvest confirmed across Binance/Bybit/OKX medians, with persistence gating (regimes, not single prints)
422
- - **Multi-timeframe alignment**: fast mean-reversion signals are gated by the daily trend (time-series momentum, the most documented edge in finance)
423
- - **Microstructure eyes**: taker-flow (CVD) and order-book imbalance veto entries the tape opposes
424
- - **Shadow book**: every rejected strategy keeps paper-trading on live data; capital allocation follows statistical proof, never opinion
425
- - **News sentinel**: a multi-LLM consensus ensemble (6 independent providers) reads verified headlines into a risk signal — the math decides every entry, the LLMs only modulate
426
-
427
- Aureus is also a planned GBLIN treasury user: idle capital parks in GBLIN via this MCP server and JIT-swaps to USDC when margin is needed — the agent eating the protocol's own cooking.
428
-
429
- - **Live dashboard:** https://gblin.digital/aureus
430
- - **Announcement:** [@GBLIN_Protocol on X](https://x.com/GBLIN_Protocol/status/2065196097207685240)
431
-
432
- ## Related Repositories
433
-
434
- - **Smart Contract & Protocol:** https://github.com/gblinproject/GBLIN-Protocol
435
- - **Web App & x402 Endpoints:** https://github.com/gblinproject/GBLIN_WEBAPP
436
- - **ElizaOS Plugin:** https://github.com/gblinproject/GBLIN_PLUGIN
437
- - **GBLIN Sentinel (x402 data agent):** https://github.com/gblinproject/gblin-sentinel
438
- - **GBLIN Aureus (autonomous trading agent):** https://gblin.digital/aureus — dry-run validation, on-chain commit-reveal track record
1
+ # GBLIN MCP Server
2
+
3
+ > **Treasury standard for AI agents on Base mainnet.** A Model Context Protocol (MCP) server that lets autonomous agents hold capital in GBLIN — a diversified, Crash-Shield-protected on-chain index — and Just-In-Time swap to USDC the millisecond they need to pay an [x402](https://docs.cdp.coinbase.com/x402/welcome) invoice.
4
+
5
+ [![npm](https://img.shields.io/npm/v/@gblin-protocol/mcp-server.svg)](https://www.npmjs.com/package/@gblin-protocol/mcp-server)
6
+ [![CI](https://github.com/gblinproject/GBLIN-MCP/actions/workflows/ci.yml/badge.svg)](https://github.com/gblinproject/GBLIN-MCP/actions/workflows/ci.yml)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
8
+ [![Base Mainnet](https://img.shields.io/badge/network-Base%20mainnet-0052FF)](https://basescan.org/address/0x36C81d7E1966310F305eA637e761Cf77F90852f0)
9
+ [![Governance: 48h Timelock](https://img.shields.io/badge/governance-48h%20Timelock-1f6feb)](https://basescan.org/address/0x6aBeC8716fFeEcf7C3D6e68255b4797113E8e5Dd)
10
+ [![Base MCP Plugin](https://img.shields.io/badge/Base%20MCP-PR%20%2356-blue)](https://github.com/base/skills/pull/56)
11
+ [![x402 Manifest](https://img.shields.io/badge/x402-manifest-green)](https://gblin.digital/.well-known/x402)
12
+ [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-Active-success)](https://registry.modelcontextprotocol.io)
13
+ [![Glama Score](https://img.shields.io/badge/Glama-100%25-brightgreen)](https://glama.ai/mcp/servers/gblinproject/GBLIN-MCP)
14
+
15
+ 📖 **Full documentation and Quick Start:** [gblin.digital/agents](https://gblin.digital/agents)
16
+
17
+ ---
18
+
19
+ ## ElizaOS Plugin
20
+
21
+ For agents running on **ElizaOS**, install the companion plugin:
22
+
23
+ ```bash
24
+ npm install plugin-gblin
25
+ # or: elizaos plugins add gblin
26
+ ```
27
+
28
+ It exposes three native Actions (`CHECK_GBLIN_TREASURY_HEALTH`, `INVEST_IDLE_USDC_GBLIN`, `RESCUE_USDC_FROM_GBLIN`) and a Provider that injects live NAV + Crash Shield status into the agent context on every loop.
29
+
30
+ → [Full Eliza plugin docs](https://github.com/gblinproject/GBLIN_PLUGIN)
31
+
32
+ ---
33
+
34
+ ## AI assistant discovery — `gblin-init`
35
+
36
+ Drop an `AGENTS.md` treasury policy into your repo so every modern AI coding
37
+ assistant (Claude Code, Cursor, Windsurf, GitHub Copilot, Codex) automatically
38
+ discovers GBLIN when it works on your codebase:
39
+
40
+ ```bash
41
+ npx -p @gblin-protocol/mcp-server gblin-init
42
+ ```
43
+
44
+ The command is **idempotent and safe**:
45
+
46
+ - If `AGENTS.md` does not exist → creates it from the canonical template at
47
+ [`gblin.digital/AGENTS.template.md`](https://gblin.digital/AGENTS.template.md).
48
+ - If `AGENTS.md` exists → appends a clearly delimited GBLIN block at the
49
+ bottom; your own content is never touched.
50
+ - Re-running is a no-op (detected via stable HTML markers).
51
+ - `--dry-run` prints what it would do without writing.
52
+ - `--force` refreshes the block to the latest version.
53
+
54
+ It also runs offline thanks to a bundled fallback template.
55
+
56
+ ### Postinstall hint
57
+
58
+ When the package is installed as a regular dependency (`npm i @gblin-protocol/mcp-server`),
59
+ a short tip is printed once suggesting the command above. **No files are
60
+ written** during postinstall — security-friendly and Socket-compliant. Set
61
+ `GBLIN_SKIP_HINT=1` to silence it.
62
+
63
+ ---
64
+
65
+ ## Trust & Governance
66
+
67
+ **GBLIN V6 is governed by a 48h Timelock Controller** — every admin operation (parameter change, oracle update, ownership transfer) is enforced on-chain to wait **172,800 seconds** before execution. Agents and integrators can verify this directly on BaseScan.
68
+
69
+ | Component | Address | Role |
70
+ |---|---|---|
71
+ | **GBLIN V6 token** | [`0x36C81d7E...52f0`](https://basescan.org/address/0x36C81d7E1966310F305eA637e761Cf77F90852f0) | Index contract (production) |
72
+ | **Timelock Controller** | [`0x6aBeC8716...8e5Dd`](https://basescan.org/address/0x6aBeC8716fFeEcf7C3D6e68255b4797113E8e5Dd) | 48h immutable delay, 14d grace period |
73
+ | **Ownership transfer tx** | [`0xb653f54f...edaaf`](https://basescan.org/tx/0xb653f54ffa9b1764b41932e6a411077e7e34550605303f15d90900de682edaaf) | Transferred at block 46160610 |
74
+
75
+ Properties enforced at the contract level:
76
+ - `MIN_DELAY` is **immutable** (override of `updateDelay` reverts permanently)
77
+ - `PROPOSER_ROLE` and `CANCELLER_ROLE` are **strictly separated** (constructor reverts on overlap)
78
+ - `EXECUTOR_ROLE` is open (`address(0)`) — anyone can execute a matured operation, anti-censorship
79
+ - The timelock is **self-administered**: every role/config change must itself go through the 48h delay
80
+
81
+ This is why the `get_governance_state` tool returns `owner_is_timelock: true` and a verifiable `min_delay_seconds: 172800`. AI agents can use these flags to gate trust-sensitive actions.
82
+
83
+ ---
84
+
85
+ ## Why this exists
86
+
87
+ AI agents today hold their working capital in **USDC**. USDC sits flat: zero yield, full inflation exposure.
88
+
89
+ **GBLIN** is an on-chain index on Base (45% cbBTC + 45% WETH + 10% USDC) with an algorithmic Crash Shield that adaptively reduces risk-asset exposure as drawdown rises (V6 adaptive threshold, from ~15%). GBLIN is managed crypto exposure with capped drawdown — a calmer way to hold BTC/ETH risk for **surplus** capital, not a substitute for USDC (it can still lose value in a crash). Agents settle x402 invoices instantly via Just-In-Time GBLIN→USDC redemption.
90
+
91
+ This server exposes that capability to any LLM agent through the standard MCP protocol.
92
+
93
+ ---
94
+
95
+ ## Quick start
96
+
97
+ ### Claude Desktop
98
+
99
+ Add to `claude_desktop_config.json` (on Windows: `%APPDATA%\Claude\claude_desktop_config.json`):
100
+
101
+ ```json
102
+ {
103
+ "mcpServers": {
104
+ "gblin": {
105
+ "command": "npx",
106
+ "args": ["-y", "@gblin-protocol/mcp-server"]
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ Restart Claude Desktop. The 9 GBLIN tools appear in the tool picker.
113
+
114
+ ### Windsurf / Cursor
115
+
116
+ Add to `~/.codeium/windsurf/mcp_config.json` (Windsurf) or the equivalent Cursor MCP config:
117
+
118
+ ```json
119
+ {
120
+ "mcpServers": {
121
+ "gblin": {
122
+ "command": "npx",
123
+ "args": ["-y", "@gblin-protocol/mcp-server"],
124
+ "env": {
125
+ "GBLIN_RPC_URL": "https://base-rpc.publicnode.com"
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ Refresh MCP servers from the IDE settings (or restart). The tools become callable inline.
133
+
134
+ ### Coinbase AgentKit (TypeScript)
135
+
136
+ ```ts
137
+ import { MCPClient } from "@modelcontextprotocol/sdk/client/index.js";
138
+ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
139
+
140
+ const transport = new StdioClientTransport({
141
+ command: "npx",
142
+ args: ["-y", "@gblin-protocol/mcp-server"],
143
+ });
144
+ const client = new MCPClient({ name: "my-agent", version: "1.0.0" });
145
+ await client.connect(transport);
146
+
147
+ // List tools
148
+ const { tools } = await client.listTools();
149
+
150
+ // Quote a JIT payment of $0.50
151
+ const jit = await client.callTool({
152
+ name: "swap_gblin_to_usdc_jit",
153
+ arguments: { usdc_needed: "0.50", wallet_address: "0xYourAgent..." },
154
+ });
155
+ ```
156
+
157
+ ### ElizaOS / custom
158
+
159
+ Any framework that speaks MCP over stdio works:
160
+
161
+ ```bash
162
+ npx @gblin-protocol/mcp-server
163
+ ```
164
+
165
+ Also supports Cline, Continue.dev, and any agent that implements the MCP client spec.
166
+
167
+ ---
168
+
169
+ ## The 10 tools
170
+
171
+ ### Free tools (no payment required)
172
+
173
+ | Tool | Purpose |
174
+ |---|---|
175
+ | `get_treasury_state` | NAV in USD + basket composition + Crash Shield status |
176
+ | `quote_safe_swap` | Preview buy or sell with dynamic slippage buffer |
177
+ | `swap_gblin_to_usdc_jit` | **The x402 magic**: generate atomic GBLIN→USDC calldata (free) |
178
+ | `invest_usdc_to_gblin` | Convert USDC earnings into GBLIN treasury (MEV-safe) (free) |
179
+ | `get_governance_state` | Verify owner == 48h Timelock + pending asset proposals + min delay |
180
+ | `share_skill_with_peer` | Generate a portable skill seed to onboard a peer agent + embedded referral code |
181
+ | `verify_risk_attestation` | Verify a peer's **Risk Attestation** (perishable proof-of-diligence): integrity + EIP-712 signature + freshness + live drift (free) |
182
+
183
+ ### Paid tools (x402 micropayments)
184
+
185
+ | Tool | Price | Purpose |
186
+ |---|---|---|
187
+ | `get_market_risk_regime` | $0.002 USDC | **Start here**: BTC/ETH risk regime (calm/elevated/crash) + severity + risk posture, from the on-chain Crash Shield |
188
+ | `analyze_treasury_health` | $0.003 USDC | Balances + gas + runway + rebalance advice |
189
+ | `find_keeper_bounty` | $0.001 USDC | **GBLIN pays you**: check if a rebalance bounty is available (0.0001 ETH reward, no capital required) |
190
+
191
+ > **Risk Attestation** — mint a perishable (10-minute), verifiable proof of the current BTC/ETH risk regime at `GET https://gblin.digital/api/x402/attestation` ($0.003 USDC via x402). Attach it to your action as proof-of-diligence; any counterparty verifies it for free with `verify_risk_attestation`.
192
+
193
+ All tools return structured JSON. All values are quoted on-chain (NAV via `quoteSellGBLIN` × Chainlink ETH/USD, with 24h staleness guard). No mock data.
194
+
195
+ **Live verification:** the test suite (`npm test`) runs the tool suite against Base mainnet and confirms calldata generation, oracle freshness, slippage math, and governance state. See the [latest CI run](https://github.com/gblinproject/GBLIN-MCP/actions).
196
+
197
+ ---
198
+
199
+ ## x402 micropayments
200
+
201
+ The paid tools use the **x402 protocol** for instant micropayments. Here's how it works:
202
+
203
+ ### Payment flow
204
+
205
+ 1. **First call** (without payment): The tool returns a 402 manifest with payment details
206
+ 2. **Pay via facilitator**: Send a POST request to the facilitator with the payment details
207
+ 3. **Receive PaymentProof**: The facilitator returns a signed proof of payment
208
+ 4. **Second call** (with `_payment`): Include the base64-encoded PaymentProof in the `_payment` field
209
+
210
+ ### Example (analyze_treasury_health)
211
+
212
+ ```bash
213
+ # Step 1: Get payment manifest
214
+ npx @gblin-protocol/mcp-server analyze_treasury_health '{"wallet_address":"0x..."}'
215
+ # Returns: 402 error with payment details
216
+
217
+ # Step 2: Pay via facilitator
218
+ curl -X POST https://x402.org/facilitator/pay \
219
+ -H "Content-Type: application/json" \
220
+ -d '{
221
+ "amount": "0.003",
222
+ "currency": "USDC",
223
+ "recipient": "0x0ebA5d314F4f5Dcb7A094953Fa9311a45172dd1B",
224
+ "chainId": 8453
225
+ }'
226
+ # Returns: PaymentProof JSON
227
+
228
+ # Step 3: Call tool with payment
229
+ npx @gblin-protocol/mcp-server analyze_treasury_health \
230
+ '{"wallet_address":"0x...", "_payment":"<base64 PaymentProof>"}'
231
+ # Returns: Treasury analysis results
232
+ ```
233
+
234
+ ### Payment recipients
235
+
236
+ - **Default recipient**: `0x0ebA5d314F4f5Dcb7A094953Fa9311a45172dd1B`
237
+ - **Override**: Set `RECIPIENT_WALLET` environment variable to use your own wallet
238
+
239
+ ### Supported facilitators
240
+
241
+ - **Primary**: `https://x402.org/facilitator` (Coinbase-maintained reference implementation)
242
+ - **Override**: Set `X402_FACILITATOR_URL` environment variable
243
+
244
+ All payments are processed on **Base mainnet** using USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913).
245
+
246
+ ---
247
+
248
+ ## Architectural decisions
249
+
250
+ ### Native atomic swap
251
+
252
+ The GBLIN contract exposes `sellGBLINForToken(amount, targetToken, fee, minOut)`. This burns GBLIN, swaps the basket → WETH → target token in a **single transaction**. No batched UserOp, no ERC-4337 dependency, no risk of half-finished JIT.
253
+
254
+ The MCP returns calldata that works identically on:
255
+ - **EOA wallets** (Privy, MetaMask, raw private key)
256
+ - **ERC-4337 smart accounts** (Safe, Coinbase smart account)
257
+ - **EIP-7702 delegated EOAs** (Pectra+)
258
+
259
+ ### Dynamic slippage
260
+
261
+ Slippage tolerance scales with on-chain risk regime:
262
+
263
+ | Condition | Buffer |
264
+ |---|---|
265
+ | Normal market | **2.5%** |
266
+ | Crash Shield active (≥1 basket asset slashed) | **4.0%** |
267
+
268
+ The buffer is applied on top of the contract's internal `maxInternalSlippage` (200 bps), absorbing oracle drift and Uniswap pool variance.
269
+
270
+ ### MEV protection
271
+
272
+ `invest_usdc_to_gblin` **never** passes `minOut = 0`. Both `minWethOut` and `minGblinOut` are computed from on-chain quotes plus the dynamic slippage buffer. This eliminates the sandwich-attack surface that plagues naïve buy-with-token tools.
273
+
274
+ ### Cooldown enforcement
275
+
276
+ The contract enforces a 120-second sell lock after each buy. The JIT tool reads `lastDepositTime` and the **on-chain `block.timestamp`** (never `Date.now()`) and returns a clear `CooldownActive` error with the exact seconds remaining if the swap would revert.
277
+
278
+ ---
279
+
280
+ ## Configuration
281
+
282
+ The server reads `GBLIN_RPC_URL` from the environment. With no env var it falls back to `https://base-rpc.publicnode.com` (free, no key, generous limits).
283
+
284
+ For production load (>100 concurrent agents) use a dedicated provider:
285
+
286
+ ```bash
287
+ export GBLIN_RPC_URL="https://base-mainnet.g.alchemy.com/v2/YOUR_KEY"
288
+ npx @gblin-protocol/mcp-server
289
+ ```
290
+
291
+ See `.env.example` for the full list.
292
+
293
+ ---
294
+
295
+ ## Development
296
+
297
+ ```bash
298
+ git clone https://github.com/gblinproject/GBLIN-MCP
299
+ cd GBLIN-MCP
300
+ npm install
301
+ npm run build
302
+ npm test # live read-only smoke test against Base mainnet
303
+ npm start # run the compiled server
304
+ ```
305
+
306
+ Project layout:
307
+
308
+ ```
309
+ src/
310
+ config.ts # network constants, addresses, slippage params
311
+ abi.ts # GBLIN_V5 + Chainlink + ERC-20 ABIs
312
+ client.ts # viem PublicClient + on-chain timestamp helper
313
+ helpers.ts # NAV, basket state, slippage, cooldown, reverse quote
314
+ keeper.ts # keeper bounty finder (incentivizedRebalance math)
315
+ tools.ts # the 10 tool implementations + zod schemas
316
+ index.ts # MCP stdio server entry
317
+ scripts/
318
+ test.ts # live smoke test
319
+ ```
320
+
321
+ ---
322
+
323
+ ## Security notes
324
+
325
+ - The server is **read-only**. It never holds, signs, or broadcasts.
326
+ - All quotes are derived from on-chain calls + Chainlink oracles. Stale or negative oracle answers cause the tool to abort with `OracleStale` / `OracleDead`.
327
+ - The agent's wallet is the sole signer. Calldata returned by tools is plain ABI-encoded bytes — review before broadcasting in untrusted environments.
328
+ - No telemetry, no analytics, no remote dependencies beyond the configured RPC.
329
+
330
+ ---
331
+
332
+ ## Roadmap
333
+
334
+ - **v0.2**: Uniswap V3 QuoterV2 integration for sub-1% slippage precision
335
+ - **v0.3**: Permit2 support (skip the approve step for x402 reinvestment)
336
+ - **v0.4**: Streamable HTTP transport for hosted multi-agent setups
337
+ - **v1.0**: Audited contract integration + remote-only deployment guide
338
+
339
+ ---
340
+
341
+ ## Links
342
+
343
+ - **Contract**: [0x36C81d7E19…52f0](https://basescan.org/address/0x36C81d7E1966310F305eA637e761Cf77F90852f0)
344
+ - **Protocol site**: https://gblin.digital
345
+ - **Agent docs**: https://gblin.digital/agents
346
+ - **Issues**: https://github.com/gblinproject/GBLIN-MCP/issues
347
+
348
+ MIT © 2026 GBLIN Protocol
349
+
350
+ ## Agent-to-Agent Skill Propagation (v0.1.9+)
351
+
352
+ GBLIN MCP includes a unique tool — `share_skill_with_peer` — that lets one AI agent transfer treasury management capabilities to another agent.
353
+
354
+ When agent A meets agent B in a multi-agent context (delegated task, x402 payment flow, shared workspace), agent A can call `share_skill_with_peer` to generate a portable JSON "skill seed". The seed contains:
355
+
356
+ - Install instructions for the GBLIN MCP server
357
+ - A working transaction example with reference TX on Basescan
358
+ - Agent A's referral code (derived from its wallet)
359
+ - The full natural-language explanation of GBLIN
360
+
361
+ Agent B can install the server in seconds using the seed. From that moment, every GBLIN transaction agent B executes includes agent A's referral code in the calldata via ERC-8021 Builder Code (`bc_gbdo32j0`). A small portion of the protocol fee (0.05% of transaction value) is redirected to agent A's wallet — sourced from the existing protocol fee split, not added on top.
362
+
363
+ This creates a viral propagation mechanism for treasury skills across the agent ecosystem, while economically rewarding agents who evangelize good treasury practices.
364
+
365
+ No additional infrastructure is required. The mechanism is entirely on-chain via the existing Builder Code system.
366
+
367
+ ## Keeper Bounty System (v0.1.11+)
368
+
369
+ GBLIN is one of the few protocols that **pays AI agents** instead of charging them.
370
+
371
+ When the treasury pool drifts from its target allocation, any agent can call `find_keeper_bounty` to check if a profitable rebalance is available. If one exists, the tool returns ready-to-send calldata. The agent broadcasts the transaction and receives **0.0001 ETH** from the protocol's stability fund — the swap uses the contract's own capital; the caller only pays gas (~$0.01 on Base).
372
+
373
+ ```json
374
+ // Example response when a bounty is available
375
+ {
376
+ "bountyAvailable": true,
377
+ "direction": "WETH->asset",
378
+ "estimatedRewardEth": "0.0001",
379
+ "target": "0x36C81d7E1966310F305eA637e761Cf77F90852f0",
380
+ "calldata": "0x...",
381
+ "value": "0",
382
+ "note": "Send this calldata to earn the reward. The swap uses the contract's own funds."
383
+ }
384
+ ```
385
+
386
+ For continuous income, poll `find_keeper_bounty` on an interval (e.g. every 5–15 minutes). A live keeper leaderboard is at [gblin.digital/keepers](https://gblin.digital/keepers).
387
+
388
+ ## Discovery & Trust
389
+
390
+ GBLIN exposes machine-readable discovery files for AI agents and protocols:
391
+
392
+ - **x402 Manifest:** https://gblin.digital/.well-known/x402 — full list of paid endpoints with prices, chain ID, and currency
393
+ - **LLM Discovery:** https://gblin.digital/api/x402/llms.txt — human-readable protocol summary (free, no paywall)
394
+ - **Base MCP Plugin:** [PR #56 on base/skills](https://github.com/base/skills/pull/56) — official integration in review
395
+
396
+ The MCP server in this repo provides the same operations as the x402 HTTP endpoints, but exposed via the Model Context Protocol for direct agent integration (Claude Desktop, Cursor, Windsurf, ElizaOS, etc.).
397
+
398
+ ## GBLIN Sentinel — x402 Data Agent Example
399
+
400
+ [GBLIN Sentinel](https://gblin-sentinel.vercel.app) is an open-source reference implementation of an autonomous AI agent that **sells** on-chain data via x402 micropayments. It demonstrates the full x402 producer pattern on Base.
401
+
402
+ | Endpoint | Price | Data |
403
+ |---|---|---|
404
+ | `/api/data/base-risk-pulse` | $0.002 USDC | Chainlink risk signal: `normal`/`caution`/`risk-off` for ETH, BTC, USDC |
405
+ | `/api/data/gblin-analytics` | $0.002 USDC | GBLIN treasury state, basket weights, keeper availability |
406
+ | `/api/data/keeper-opps` | $0.002 USDC | Live keeper bounty check with MCP tool reference |
407
+
408
+ Discovery:
409
+ - x402 manifest: https://gblin-sentinel.vercel.app/.well-known/x402
410
+ - LLM reference: https://gblin-sentinel.vercel.app/llms.txt
411
+ - Source: https://github.com/gblinproject/gblin-sentinel
412
+
413
+ Any agent using this MCP server can call `base-risk-pulse` before investing to gate treasury actions on current market risk signal.
414
+
415
+ ## GBLIN Aureus — Autonomous Trading Agent (Track-Record Engine)
416
+
417
+ [Aureus](https://gblin.digital/aureus) is an autonomous catalyst & rotation agent that trades crypto, equities, indices and metals on Base — and **cannot lie about its results**: every thesis is keccak-hashed and committed on-chain *before* the agent acts, then revealed at close. Win or lose, the record is permanent and independently verifiable. No cherry-picked screenshots.
418
+
419
+ **Status: DRY-RUN validation.** Aureus runs the full loop on live market data with zero real funds. It graduates to real capital only if it passes a public gate: 30–50 closed trades, profit factor > 1.3, max drawdown < 10%, zero liquidations. The live dashboard publishes every metric in real time: [gblin.digital/aureus](https://gblin.digital/aureus).
420
+
421
+ Under the hood (the boring parts that keep capital alive):
422
+
423
+ - **Risk engine**: volatility-targeted sizing, stops always inside the liquidation distance, mark-to-market equity with automatic drawdown halt, 10-second stop watcher
424
+ - **Multi-venue funding carry**: delta-neutral funding harvest confirmed across Binance/Bybit/OKX medians, with persistence gating (regimes, not single prints)
425
+ - **Multi-timeframe alignment**: fast mean-reversion signals are gated by the daily trend (time-series momentum, the most documented edge in finance)
426
+ - **Microstructure eyes**: taker-flow (CVD) and order-book imbalance veto entries the tape opposes
427
+ - **Shadow book**: every rejected strategy keeps paper-trading on live data; capital allocation follows statistical proof, never opinion
428
+ - **News sentinel**: a multi-LLM consensus ensemble (6 independent providers) reads verified headlines into a risk signal — the math decides every entry, the LLMs only modulate
429
+
430
+ Aureus is also a planned GBLIN treasury user: idle capital parks in GBLIN via this MCP server and JIT-swaps to USDC when margin is needed — the agent eating the protocol's own cooking.
431
+
432
+ - **Live dashboard:** https://gblin.digital/aureus
433
+ - **Announcement:** [@GBLIN_Protocol on X](https://x.com/GBLIN_Protocol/status/2065196097207685240)
434
+
435
+ ## Related Repositories
436
+
437
+ - **Smart Contract & Protocol:** https://github.com/gblinproject/GBLIN-Protocol
438
+ - **Web App & x402 Endpoints:** https://github.com/gblinproject/GBLIN_WEBAPP
439
+ - **ElizaOS Plugin:** https://github.com/gblinproject/GBLIN_PLUGIN
440
+ - **GBLIN Sentinel (x402 data agent):** https://github.com/gblinproject/gblin-sentinel
441
+ - **GBLIN Aureus (autonomous trading agent):** https://gblin.digital/aureus — dry-run validation, on-chain commit-reveal track record