nulucre-wallet-reputation
Wallet trust scores for AI agents. Stellar, XRPL, EVM 81+ chains. OFAC sanctions. x402 payments.
Should I use this
Quality & Safety
Findings (2)
- LOWin nulucre_get_stellar_wallet_score
- LOWin nulucre_get_solana_wallet_score
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"nulucre-wallet-reputation": {
"url": "https://agents.nulucre.com/mcp"
}
}
}Remote endpoints
https://agents.nulucre.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢nulucre_get_stellar_wallet_score(g_address, signed, response_format)
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
Input Schema
{
"type": "object",
"properties": {
"g_address": {
"type": "string",
"pattern": "^G[A-Z2-7]{55}$",
"description": "Stellar wallet address starting with 'G' (56 characters)"
},
"signed": {
"type": "boolean",
"default": false,
"description": "If true, requests an ECDSA-P256 cryptographically signed score for independent verification (higher cost endpoint)"
},
"response_format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown",
"description": "Output format: 'markdown' for human-readable report or 'json' for machine-readable structured data"
}
},
"required": [
"g_address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢nulucre_get_evm_wallet_score(wallet, signed, response_format)
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
Input Schema
{
"type": "object",
"properties": {
"wallet": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "EVM wallet address starting with '0x' (42 characters)"
},
"signed": {
"type": "boolean",
"default": false,
"description": "If true, requests an ECDSA-P256 cryptographically signed score for independent verification (higher cost endpoint)"
},
"response_format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown",
"description": "Output format: 'markdown' for human-readable report or 'json' for machine-readable structured data"
}
},
"required": [
"wallet"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢nulucre_get_solana_wallet_score(address, signed, response_format)
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.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address (base58, 32-44 characters)"
},
"signed": {
"type": "boolean",
"default": false,
"description": "If true, request an ECDSA-P256 signed score"
},
"response_format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown",
"description": "Output format"
}
},
"required": [
"address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢nulucre_get_xrpl_wallet_score(r_address, signed, response_format)
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.
Input Schema
{
"type": "object",
"properties": {
"r_address": {
"type": "string",
"description": "XRPL wallet address starting with r (25-35 characters)"
},
"signed": {
"type": "boolean",
"default": false,
"description": "If true, request an ECDSA-P256 signed score"
},
"response_format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"default": "markdown",
"description": "Output format"
}
},
"required": [
"r_address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢nulucre_check_service_status
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
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence