Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions showcase/palisade/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# PaliSade

Keyless, read-only onchain security scanner for **Robinhood Chain** (primary),
exposed as an **MCP server** any agent can call over HTTP before it signs an
approval, swaps, or invests. EVM majors (Ethereum, Polygon, Arbitrum) and
Solana are also supported for cross-chain checks.

- **Live API:** https://mcp.palisadescan.com
- **Website:** https://palisadescan.com
- **Source:** https://github.com/palisadescan/palisade

## What it does

Eighteen read-only inspectors interrogate a token or wallet, then a consensus
pass weighs six independent signals so one noisy source can't escalate risk on
its own.

| # | Tool | What it checks |
| --- | --- | --- |
| 1 | `palisade_scan_approvals` | ERC-20/721 allowances, flags unlimited spenders |
| 2 | `palisade_scan_token` | Rugpull indicators: hidden mint, proxy, tax, blacklist |
| 3 | `palisade_detect_honeypot` | Simulated buy/sell to catch tokens you can't exit |
| 4 | `palisade_safety_score` | 0-100 composite: code, ownership, liquidity, holders |
| 5 | `palisade_wallet_report` | Full wallet security posture |
| 6 | `palisade_monitor_wallet` | Alerts on new approvals, risky interactions |
| 7 | `palisade_token_market` | Price, liquidity, volume, pool age (DexScreener) |
| 8 | `palisade_deployer_check` | Deployer history + verification (Blockscout) |
| 9 | `palisade_batch_scan` | Score many tokens in one call, ranked by risk |
| 10 | `palisade_check_scam` | Community scam-report database |
| 11 | `palisade_sentinel_status` | Autonomous Sentinel watchlist + loop config |
| 12 | `palisade_consensus` | Six-source weighted verdict (false-positive guard) |
| 13 | `palisade_liquidity_lock` | Locked / burned / unlocked / unknown |
| 14 | `palisade_simulate_approval` | Simulate an approval before signing |
| 15 | `palisade_detect_clone` | Bytecode fingerprint vs scam DB |
| 16 | `palisade_check_tax` | Buy/sell tax mechanics |
| 17 | `palisade_check_ownership` | Ownership renounced / retained |
| 18 | `palisade_holder_concentration` | Whale grip on sellable float |

## Boundaries

- **Read-only by design.** Never signs, holds keys, or moves funds.
- **Keyless and free.** No API key, no account, no payment.
- **Unknown over safe.** Missing data resolves to `unknown`, never `safe`.

## Quick call

```bash
curl -s -X POST https://mcp.palisadescan.com/tools/call \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"palisade_safety_score",
"arguments":{"contract":"0xTokenAddressHere","chain":"robinhood"}}}'
```

See [`examples/live-endpoint-proof.md`](examples/live-endpoint-proof.md) for
real, reproducible responses, and
[`skills/palisade-security-scan`](skills/palisade-security-scan) for the
reusable scan skill.
Binary file added showcase/palisade/assets/poster.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
158 changes: 158 additions & 0 deletions showcase/palisade/examples/live-endpoint-proof.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
# Live Endpoint Proof

All responses below are **real, reproducible** calls against the public PaliSade
MCP API at `https://mcp.palisadescan.com`. No API key, no account, no payment —
every call is keyless and read-only. Captured 2026-07-29.

Reproduce any call by pasting the `curl` block into a terminal.

---

## 1. Service health

```bash
curl -s https://mcp.palisadescan.com/health
```

```json
{"status":"ok","service":"palisade-mcp","tools":18}
```

---

## 2. Tool inventory (18 read-only tools)

```bash
curl -s https://mcp.palisadescan.com/tools/list \
| python3 -c "import sys,json;t=json.load(sys.stdin)['result']['tools'];print(len(t));[print(x['name']) for x in t]"
```

```
18
palisade_scan_approvals
palisade_scan_token
palisade_detect_honeypot
palisade_safety_score
palisade_wallet_report
palisade_monitor_wallet
palisade_token_market
palisade_deployer_check
palisade_batch_scan
palisade_check_scam
palisade_sentinel_status
palisade_consensus
palisade_liquidity_lock
palisade_simulate_approval
palisade_detect_clone
palisade_check_tax
palisade_check_ownership
palisade_holder_concentration
```

---

## 3. Safety score — WETH (known-good blue-chip)

```bash
curl -s -X POST https://mcp.palisadescan.com/tools/call \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"palisade_safety_score",
"arguments":{"contract":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","chain":"ethereum"}}}'
```

```json
{
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"chain": "ethereum",
"score": 92,
"risk_level": "safe",
"breakdown": [
{"category": "Verified Registry", "score": 92, "note": "Wrapped Ether (WETH) — Canonical WETH"}
],
"risk_factors": [],
"positive_factors": ["Listed in PALISADE verified registry as Wrapped Ether"],
"recommendation": "Score: 92/100 — Wrapped Ether is a known, verified contract. Risk level: safe."
}
```

---

## 4. Honeypot probe — WETH

```bash
curl -s -X POST https://mcp.palisadescan.com/tools/call \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"palisade_detect_honeypot",
"arguments":{"contract":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","chain":"ethereum"}}}'
```

```json
{
"token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"chain": "ethereum",
"token_name": "Wrapped Ether",
"token_symbol": "WETH",
"is_honeypot": false,
"can_buy": true,
"can_sell": true,
"buy_tax": 0.0,
"sell_tax": 0.0,
"block_reason": null,
"simulations": [
{"action": "known_contract_lookup", "success": true, "gas_used": null,
"error": "Wrapped Ether (WETH) is a verified blue-chip contract"}
],
"high_tax_warning": false
}
```

---

## 5. Six-source consensus — WETH

The consensus tool weighs six independent signals. Risk only escalates when
multiple sources concur — a built-in false-positive guard. Note the
`liquidity_lock` source returns `unknown` (not `safe`) when a lock cannot be
determined.

```bash
curl -s -X POST https://mcp.palisadescan.com/tools/call \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"palisade_consensus",
"arguments":{"contract":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","chain":"ethereum"}}}'
```

```json
{
"token": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"chain": "ethereum",
"verdict": "safe",
"confidence": 1.0,
"risk_sources": 0,
"safe_sources": 5,
"unknown_sources": 1,
"total_sources": 6,
"votes": [
{"source": "goplus", "vote": "safe", "weight": 1.0, "reasons": ["no honeypot/tax flags"]},
{"source": "onchain_score", "vote": "safe", "weight": 0.8, "reasons": ["score 92/100 (safe)"]},
{"source": "market", "vote": "safe", "weight": 0.6, "reasons": ["liquidity risk: low"]},
{"source": "deployer", "vote": "safe", "weight": 0.5, "reasons": ["verified registry contract"]},
{"source": "scam_db", "vote": "safe", "weight": 0.4, "reasons": ["no community reports"]},
{"source": "liquidity_lock", "vote": "unknown", "weight": 0.0, "reasons": ["lock undetermined"]}
],
"summary": "5/5 sources agree: no risk signals detected."
}
```

---

## What this proves

- The public API is **live** and answers real tool calls over HTTPS with no key.
- Scans return **structured, inspectable verdicts** — not opaque scores.
- The design is **conservative**: an undetermined liquidity lock votes `unknown`
and contributes zero weight rather than inflating a `safe` verdict.
- All 18 tools are registered and reachable (`/tools/list`).
70 changes: 70 additions & 0 deletions showcase/palisade/showcase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"slug": "palisade",
"title": "PaliSade",
"tagline": "Scans any token or wallet on Robinhood Chain and returns a 0-100 Trust Score fusing honeypot, tax, liquidity-lock, holder-concentration, and a six-source consensus verdict",
"description": "PaliSade is a keyless, read-only onchain security scanner exposed as an MCP server that any agent can call over HTTP before it signs an approval, swaps, or invests. Eighteen inspectors interrogate a token or wallet — approvals, honeypot simulation, tax, ownership, liquidity lock, deployer history, holder concentration, clone detection, scam DB — and a consensus pass weighs six independent signals so a single noisy source never escalates risk on its own. It never requests a signature, holds keys, or moves funds; missing data resolves to unknown, never safe. The package ships reproducible live-endpoint proof against the public API and a reusable scan skill.",
"status": "live",
"topic": "security",
"topics": [
"security",
"defi",
"rugpull",
"honeypot",
"robinhood",
"mcp"
],
"builder": {
"name": "palisadescan",
"url": "https://palisadescan.com"
},
"links": {
"repo": "https://github.com/palisadescan/palisade",
"demo": "https://mcp.palisadescan.com/health",
"share": "https://palisadescan.com",
"feedback": "https://github.com/palisadescan/palisade/issues/new?title=Feedback%3A%20PaliSade&body=Which%20feedback%20prompt%20fits%3F%0A%0A-%20Are%20the%20right%20risk%20signals%20covered%3F%0A-%20Is%20unknown-over-safe%20the%20right%20default%3F%0A-%20What%20proof%20would%20make%20a%20verdict%20trustworthy%3F%0A%0ANotes%3A%0A"
},
"primitives": [
"acp"
],
"visual": {
"kind": "live API security scan",
"eyebrow": "robinhood chain + mcp + read-only",
"title": "trust score for tokens and wallets",
"posterUrl": "https://raw.githubusercontent.com/Virtual-Protocol/acp-cli-demos/main/showcase/palisade/assets/poster.png"
},
"skills": [
{
"name": "palisade-security-scan",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/palisade/skills/palisade-security-scan",
"sourcePath": "showcase/palisade/skills/palisade-security-scan",
"summary": "Scan a token or wallet with the live PaliSade MCP API — validate the 0x target, then call safety_score, honeypot, liquidity_lock, holder_concentration, and consensus over HTTP and interpret the fused verdict. Keyless, read-only, no signing.",
"install": "cp -R showcase/palisade/skills/palisade-security-scan ~/.agents/skills/\ncp -R showcase/palisade/skills/palisade-security-scan ~/.claude/skills/"
}
],
"artifacts": [
{
"label": "Live endpoint proof — real scans on the public API (safety score, honeypot, six-source consensus)",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/palisade/examples/live-endpoint-proof.md",
"kind": "proof"
},
{
"label": "Reusable skill — palisade-security-scan",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/tree/main/showcase/palisade/skills/palisade-security-scan",
"kind": "skill"
},
{
"label": "PaliSade package README",
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/palisade/README.md",
"kind": "docs"
}
],
"soul": {
"href": "https://github.com/Virtual-Protocol/acp-cli-demos/blob/main/showcase/palisade/soul.md",
"summary": "Public PaliSade agent context: what it scans, its 0-100 Trust Score and consensus verdict scale, and its read-only, keyless, unknown-over-safe, no-custody boundaries."
},
"feedbackPrompts": [
"Are the eighteen inspectors and six consensus sources the right signals for deciding whether to trust a token before trading?",
"Is unknown-over-safe the right default when a data source is unavailable, even though it lowers confidence?",
"What additional proof would make a Trust Score trustworthy enough to gate a real swap or approval?"
]
}
Loading
Loading