io. github. vjshaw/ nulucre-wallet-reputation
by vjshaw · remote · no sign-in to list tools · v1.1.0 · published by GitHub user vjshaw
Wallet trust scores for AI agents. Stellar, XRPL, EVM 81+ chains. OFAC sanctions. x402 payments.
5 tools: 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads5Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http nulucre-wallet-reputation https://agents.nulucre.com/mcpFindings
Matches of fixed checks, with the text they matched.
The description is 2,750 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...Returns a payment-required explanation if the free evaluation quota is exhausted"
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Only reads 5Claude Code: allow
nulucre_check_service_statusCheck whether the live Nulucre reputation oracle service is online.No findings
Why it is in this group
- The name "nulucre_check_service_status" says "status": a word for reading.
Description, as the server wrote it Check whether the live Nulucre reputation oracle service is online. This is a free endpoint that requires no payment. Use this tool to verify Nulucre is reachable before relying on it for wallet scoring decisions, or for general uptime monitoring. Args: none Returns: Structured data with schema: { "status": string, // "online" if the service is reachable "service": string // service name } Examples: - Use when: "Is Nulucre up?" -> no params needed - Use when: checking service availability before a batch of scoring calls Error Handling: - Returns "Error: ..." with details if the service is unreachable
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
nulucre_get_evm_wallet_scoreGet a 0-100 trust score for an EVM wallet address (0x...) from Nulucre, a multi-chain wallet reputation oracle covering 81+ chains.No findings
Why it is in this group
- The name "nulucre_get_evm_wallet_score" says "get": a word for reading.
Description, as the server wrote it Get a 0-100 trust score for an EVM wallet address (0x...) from Nulucre, a multi-chain wallet reputation oracle covering 81+ chains. The score is computed from on-chain data including wallet age, transaction volume, DeFi activity, and multi-chain presence, pulled from Etherscan, Moralis, Alchemy, and Ankr. Use this tool to assess counterparty risk before an agent interacts with or pays an EVM wallet on Ethereum, Base, Polygon, Arbitrum, Optimism, or any of the 81+ supported chains. Args: - wallet (string): EVM wallet address starting with '0x' (42 characters) - signed (boolean): If true, request an ECDSA-P256 signed score for independent verification via Nulucre's public JWKS endpoint (default: false) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: For JSON format: Structured data with schema: { "wallet": string, "score": number, // 0-100 "status": string, // TRUSTED | VERIFIED | CAUTION | RISKY | BLACKLISTED "breakdown": { "<signalName>": { "score": number, "raw": string }, ... }, "chains"?: string[], "dataSource": string, "timestamp": string, "signature"?: string // present only when signed=true } Examples: - Use when: "Is this Ethereum wallet trustworthy?" -> wallet="0xabc...", signed=false - Use when: "Get a verifiable score for this 0x address" -> wallet="0xabc...", signed=true - Don't use when: scoring a Stellar G... address (use nulucre_get_stellar_wallet_score instead) Error Handling: - Returns "Error: Invalid EVM wallet address" if the address format is invalid - Returns a payment-required explanation if the free evaluation quota is exhausted
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
nulucre_get_solana_wallet_scoreGet a 0-100 trust score for a Solana wallet address from Nulucre.No findings
Why it is in this group
- The name "nulucre_get_solana_wallet_score" says "get": a word for reading.
Description, as the server wrote it Get a 0-100 trust score for a Solana wallet address from Nulucre. Scored using 7 native Solana RPC signals: account age, transaction volume, SOL balance, token diversity, recent activity, program account status, and failed transaction ratio. Includes real-time OFAC/UN/EU sanctions screening. Use before paying or interacting with any Solana wallet. Pay per query via x402 USDC micropayments.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
nulucre_get_stellar_wallet_scoreGet a 0-100 trust score for a Stellar wallet address (G...) from Nulucre, a live Stellar-native wallet reputation oracle.1 finding
Why it is in this group
- The name "nulucre_get_stellar_wallet_score" says "get": a word for reading.
Findings
- Info
The description is 2,750 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...Returns a payment-required explanation if the free evaluation quota is exhausted"
Description, as the server wrote it Get a 0-100 trust score for a Stellar wallet address (G...) from Nulucre, a live Stellar-native wallet reputation oracle. The score is computed from 8 signals pulled directly from the Stellar Horizon API and Stellar Expert — account age, transaction volume, asset diversity, SDEX DEX participation, network trust, claimable balance activity, Soroban contract interactions, and liquidity pool participation, plus a spam detection penalty. No EVM data is used. Every score includes a real-time sanctions screening result against the OFAC SDN, OFAC Non-SDN, EU Financial Sanctions, and UN Security Council Sanctions lists. A wallet matching any of these lists automatically receives a score of 0 and status BLACKLISTED. Use this tool to assess counterparty risk before an agent interacts with or pays a Stellar wallet — for example before executing a payment, approving a swap counterparty, or evaluating a new account. Args: - g_address (string): Stellar wallet address starting with 'G' (56 characters) - signed (boolean): If true, request an ECDSA-P256 signed score for independent verification via Nulucre's public JWKS endpoint (default: false) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: For JSON format: Structured data with schema: { "wallet": string, "network": "stellar:pubnet", "score": number, // 0-100 "status": string, // TRUSTED | VERIFIED | CAUTION | RISKY | BLACKLISTED "breakdown": { "accountAge": { "score": number, "raw": string }, "txVolume": { "score": number, "raw": string }, "assetDiversity": { "score": number, "raw": string }, "dexParticipation": { "score": number, "raw": string }, "networkTrust": { "score": number, "raw": string }, "claimableActivity": { "score": number, "raw": string }, "sorobanUsage": { "score": number, "raw": string }, "liquidityPools": { "score": number, "raw": string }, "spamPenalty": { "score": number, "raw": string }, "sanctionsCheck": { "score": number, "raw": "CLEAR"|"SANCTIONED"|"UNCHECKED", "source": string } }, "dataSource": string, "timestamp": string, "signature"?: string // present only when signed=true } Examples: - Use when: "Is this Stellar wallet safe to pay?" -> g_address="GABC...", signed=false - Use when: "Get a verifiable score I can check independently" -> g_address="GABC...", signed=true - Don't use when: scoring an Ethereum or other EVM address (use nulucre_get_evm_wallet_score instead) Error Handling: - Returns "Error: Invalid Stellar wallet address" if the address format is invalid - Returns a payment-required explanation if the free evaluation quota is exhausted
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
nulucre_get_xrpl_wallet_scoreGet a 0-100 trust score for an XRPL wallet address (r...) from Nulucre.No findings
Why it is in this group
- The name "nulucre_get_xrpl_wallet_score" says "get": a word for reading.
Description, as the server wrote it Get a 0-100 trust score for an XRPL wallet address (r...) from Nulucre. Scored using 7 XRPL Ledger signals: account age, transaction volume, trustline diversity, DEX participation, network trust, payment activity, and spam detection. Includes real-time OFAC/UN/EU sanctions screening. Use before paying or interacting with any XRPL wallet.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http nulucre-wallet-reputation https://agents.nulucre.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__nulucre-wallet-reputation__nulucre_get_stellar_wallet_score",
"mcp__nulucre-wallet-reputation__nulucre_get_evm_wallet_score",
"mcp__nulucre-wallet-reputation__nulucre_get_solana_wallet_score",
"mcp__nulucre-wallet-reputation__nulucre_get_xrpl_wallet_score",
"mcp__nulucre-wallet-reputation__nulucre_check_service_status"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as nulucre-wallet-reputation. Review it before you use it.
