Skip to content
Back to skills

Openclaw Basecred Sdk

ASecurity

Check human reputation via Ethos Network, Talent Protocol, and Farcaster using the neutral basecred-sdk. Fetches composable reputation data without judgment - raw scores, levels, and signals for identity verification and trust assessment. Use when you need to check someone's onchain credibility, builder/creator scores, or Farcaster quality metrics.

  • 14 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 7, 2026
securityjavascriptrustgojavabashnodetestinggitapisecurity

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 15 files and shows the line behind each finding

Scanned September 7, 2026

npx -y skills add modbender/skill-library-mcp --skill openclaw-basecred-sdk --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Openclaw Basecred Sdk?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Openclaw Basecred Sdk
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-openclaw-basecred-sdk/badge)](https://www.skillsdirectory.com/skills/modbender-openclaw-basecred-sdk)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: openclaw-basecred-sdk
version: 1.0.2
author: teeclaw
license: MIT
description: Check human reputation via Ethos Network, Talent Protocol, and Farcaster using the neutral basecred-sdk. Fetches composable reputation data without judgment - raw scores, levels, and signals for identity verification and trust assessment. Use when you need to check someone's onchain credibility, builder/creator scores, or Farcaster quality metrics.
tags: [reputation, identity, ethos, talent, farcaster, basecred, onchain, verification]
metadata:
  openclaw:
    requires:
      bins: [node]
---

# basecred-sdk-skill

**OpenClaw skill for checking human reputation via Ethos Network, Talent Protocol, and Farcaster using the neutral basecred-sdk.**

## Overview

This skill provides a CLI interface to the [@basecred/sdk](https://www.npmjs.com/package/@basecred/sdk) for fetching neutral, composable reputation data from multiple web3 identity providers:

- **Ethos Network** - Social credibility (vouches, reviews, score)
- **Talent Protocol** - Builder and creator scores
- **Farcaster (Neynar)** - Account quality metrics

The SDK is designed to make reputation data **observable without turning it into judgment**. It returns raw scores, levels, and signals—no rankings, no percentiles, no trust verdicts.

## Security

**This skill uses secure, hardcoded credential loading** — see [SECURITY.md](./SECURITY.md) for full audit details.

**TL;DR:**
- ✅ Credentials loaded from `~/.openclaw/.env` (hardcoded path, no directory traversal)
- ✅ Upstream package `@basecred/sdk@0.6.2` audited and clean (MIT licensed, minimal deps)
- ✅ No secrets logged or written to disk
- ✅ Read-only API access (public reputation data)

## Prerequisites

### Required

- Node.js 18+
- OpenClaw runtime

### Optional API Keys

**Environment variables** (in `~/.openclaw/.env`):

```bash
# Optional: Enables Talent Protocol builder/creator scores
TALENT_API_KEY=your_talent_api_key

# Optional: Enables Farcaster quality scores
NEYNAR_API_KEY=your_neynar_api_key
```

**Notes:**
- Ethos Network requires **no API key**
- Without `TALENT_API_KEY`, builder/creator scores will be unavailable
- Without `NEYNAR_API_KEY`, Farcaster scores will be unavailable
- The skill works with partial data (graceful degradation)

**Get API keys:**
- Talent Protocol: https://talentprotocol.com
- Neynar: https://neynar.com

## Installation

```bash
cd ~/.openclaw/workspace/skills/openclaw-basecred-sdk
npm install
```

## Usage

### Basic Check

```bash
./scripts/check-reputation.mjs 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
```

**Output (JSON summary):**
```json
{
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "timestamp": "2026-02-10T07:00:00.000Z",
  "availability": {
    "ethos": "not_found",
    "talent": "available",
    "farcaster": "available"
  },
  "data": {
    "talent": {
      "builderScore": 86,
      "builderLevel": "Practitioner",
      "builderRank": 8648,
      "creatorScore": 103,
      "creatorLevel": "Established",
      "creatorRank": null
    },
    "farcaster": {
      "score": 1,
      "passesQuality": true
    }
  },
  "recency": "recent"
}
```

### Command Options

```bash
# Summary format (default)
./scripts/check-reputation.mjs <address>

# Full unified profile
./scripts/check-reputation.mjs <address> --full

# Human-readable output
./scripts/check-reputation.mjs <address> --human

# JSON output (default)
./scripts/check-reputation.mjs <address> --json

# Show help
./scripts/check-reputation.mjs --help
```

### Examples

**Check vitalik.eth:**
```bash
./scripts/check-reputation.mjs 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
```

**Human-readable format:**
```bash
./scripts/check-reputation.mjs 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --human
```

Output:
```
📊 Reputation Summary for 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
⏰ 2026-02-10T07:00:00.000Z

📡 Data Sources:
   🔍 ethos: not_found
   ✅ talent: available
   ✅ farcaster: available

🛠️  Talent Protocol:
   Builder: 86 (Practitioner) - Rank #8648
   Creator: 103 (Established)

🎭 Farcaster:
   Quality Score: 1
   Passes Threshold: ✅

📅 Recency: recent
```

**Full profile with all data:**
```bash
./scripts/check-reputation.mjs 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --full
```

## Output Format

### Summary Format (default)

```json
{
  "address": "0x...",
  "timestamp": "ISO-8601",
  "availability": {
    "ethos": "available|not_found|error",
    "talent": "available|not_found|error",
    "farcaster": "available|not_found|error"
  },
  "data": {
    "ethos": {
      "score": 1732,
      "level": "Established",
      "vouches": 5,
      "reviews": { "positive": 12, "neutral": 1, "negative": 0 },
      "hasNegativeReviews": false
    },
    "talent": {
      "builderScore": 86,
      "builderLevel": "Practitioner",
      "builderRank": 8648,
      "creatorScore": 103,
      "creatorLevel": "Established",
      "creatorRank": null
    },
    "farcaster": {
      "score": 0.97,
      "passesQuality": true
    }
  },
  "recency": "recent|stale|dormant"
}
```

### Full Profile Format

See [@basecred/sdk documentation](https://github.com/Callmedas69/basecred/tree/main/packages/sdk#output-schema) for complete schema.

## Data Sources

### Ethos Network

**What it provides:**
- Social credibility score (0-2800)
- Vouches received (trust endorsements)
- Reviews (positive/neutral/negative)
- Semantic credibility level (Untrusted → Renowned)

**No API key required.**

### Talent Protocol

**What it provides:**
- **Builder Score** - Technical/development credibility (0-250+)
- **Creator Score** - Content/creative credibility (0-250+)
- Rank positions (when available)
- Semantic levels (Novice → Master / Emerging → Elite)

**Requires:** `TALENT_API_KEY`

### Farcaster (Neynar)

**What it provides:**
- Account quality score (0-1)
- Quality threshold pass/fail (default: 0.5)

**Requires:** `NEYNAR_API_KEY`

## Availability States

Each data source returns exactly one state:

| State | Meaning |
|-------|---------|
| `available` | Profile exists, data fetched successfully |
| `not_found` | No profile exists for this address |
| `error` | API error or failure |

The skill **never crashes** on missing data. Partial responses are valid and useful.

## Semantic Levels

The SDK derives human-readable levels from raw scores:

**Ethos Credibility Levels:**
- 0-799: Untrusted
- 800-1199: Questionable
- 1200-1399: Neutral
- 1400-1599: Known
- 1600-1799: Established
- 1800-1999: Reputable
- 2000-2199: Exemplary
- 2200-2399: Distinguished
- 2400-2599: Revered
- 2600-2800: Renowned

**Talent Builder Levels:**
- 0-39: Novice
- 40-79: Apprentice
- 80-119: Practitioner
- 120-169: Advanced
- 170-249: Expert
- 250+: Master

**Talent Creator Levels:**
- 0-39: Emerging
- 40-79: Growing
- 80-119: Established
- 120-169: Accomplished
- 170-249: Prominent
- 250+: Elite

## Recency Buckets

Data freshness indicator:

| Bucket | Condition |
|--------|-----------|
| `recent` | Updated within 30 days |
| `stale` | Updated 31-90 days ago |
| `dormant` | Updated more than 90 days ago |

## Testing

Run the test suite with known addresses:

```bash
npm test
```

This tests:
- Vitalik Buterin (vitalik.eth)
- Mr. Tee (main wallet)

## Integration with Other Skills

Import the library in your own scripts:

```javascript
import { checkReputation, getSummary, formatHuman } from './lib/basecred.mjs';

const result = await checkReputation('0x...');
const summary = getSummary(result);
console.log(summary);
```

## Error Handling

The skill uses graceful error handling:

- Invalid address → returns error object with message
- Missing API keys → warns but continues with available sources
- API failures → surfaced via `availability` field
- Network errors → returns error object with details

**Never throws exceptions** - always returns structured data.

## Design Principles

This skill follows the basecred-sdk philosophy:

- **Absence is explicit** - Missing data is declared, never hidden
- **Time matters more than score** - Temporal fields enable continuity analysis
- **Sources are parallel** - No source is "better" than another
- **Data is reported, not judged** - Consumers interpret meaning

## Non-Goals

This skill intentionally does **NOT**:

- Decide trustworthiness
- Rank users against each other
- Compare users
- Produce composite scores
- Replace human judgment

## Performance

- **Average query time:** 1-3 seconds (depends on network + API response times)
- **API calls:** 1-3 concurrent requests (one per enabled source)
- **No rate limiting** - but respect upstream API limits

## Troubleshooting

**"TALENT_API_KEY not found" warning:**
- Add `TALENT_API_KEY=xxx` to `~/.openclaw/.env`
- Or accept that Talent scores will be unavailable

**"NEYNAR_API_KEY not found" warning:**
- Add `NEYNAR_API_KEY=xxx` to `~/.openclaw/.env`
- Or accept that Farcaster scores will be unavailable

**All sources return `not_found`:**
- Address may not have profiles on any platform
- This is valid - absence is data

**Unexpected errors:**
- Check network connectivity
- Verify API keys are valid
- Check upstream API status

## Related Links

- **Source SDK:** https://github.com/Callmedas69/basecred/tree/main/packages/sdk
- **npm package:** https://www.npmjs.com/package/@basecred/sdk
- **Ethos Network:** https://ethos.network
- **Talent Protocol:** https://talentprotocol.com
- **Neynar (Farcaster):** https://neynar.com

## License

MIT

## Author

Built by **teeclaw** for OpenClaw.

---

**Version:** 1.0.1  
**Last Updated:** 2026-02-10  
**SDK Version:** @basecred/sdk@0.6.2

Files in this skill

  • CHANGELOG.md4.7 KB
  • PATCH-NOTES.md4.7 KB
  • PORTABILITY-FIX.md3 KB
  • README.md9.4 KB
  • REVIEW-v0.6.2.md3.6 KB
  • SECURITY.md4 KB
  • SKILL.md9.8 KB
  • examples/example-response.json551 B
  • package-lock.json1.1 KB
  • package.json878 B
  • scripts/check-reputation.mjs2.6 KB
  • scripts/lib/basecred.mjs6.7 KB
  • scripts/test.mjs1.1 KB
  • skill.json1.2 KB
  • test-isolation.sh2.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…