Nulucre Wallet Reputation

io.github.vjshawPublished by GitHub account vjshawv1.1.0Updated Oct 25, 2026

Wallet trust scores for AI agents. Stellar, XRPL, EVM 81+ chains. OFAC sanctions. x402 payments.

VerifiedStreamable HTTPWeb executableFinanceSecurity & Monitoring

Overview

AI-generated overview

A remote MCP server that returns 0-100 trust scores and sanctions screening for Stellar, EVM, Solana and XRPL wallet addresses, paid per call in USDC.

What you can do
Score Stellar, EVM (81+ chains), Solana and XRPL wallet addresses on a 0-100 trust scale with a status band and per-signal breakdown, including OFAC/UN/EU sanctions screening on Solana and XRPL lookups and an insufficient-data result for thin wallets. Check whether the reputation oracle service is online, which is free and needs no payment.
When to use it
Useful when an assistant has to judge a counterparty wallet before paying, trading or interacting with it, or when comparing wallet histories across several chains. The free status check is a reasonable first step to confirm the service is reachable.
Requirements
A remote streamable HTTP endpoint; no accounts or API keys. Scoring calls are paid per request in USDC over the x402 protocol on Base, Stellar or Solana mainnet, so the client must be able to send USDC and return payment proof. Network access to the Nulucre service is required.
Before you install
Each score request costs USDC (about $0.001, or $0.01 for signed results), so an assistant that calls it repeatedly spends real money from a wallet. Payment goes to the published addresses on Base, Stellar and Solana mainnets. Scores are third-party risk opinions, not guarantees, and thin wallets return no score rather than a verdict.

Installation

In SourceWeft

  1. Open Nulucre Wallet Reputation in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.vjshaw%2Fnulucre-wallet-reputation/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "nulucre-wallet-reputation": {
      "type": "http",
      "url": "https://agents.nulucre.com/mcp"
    }
  }
}

README

Nulucre Agents — Wallet Reputation Oracle for AI Agents

Real-time wallet trust scores across 4 chains, paid via x402 micropayments. No API keys, no accounts, no subscriptions — pure agent-to-agent commerce.

Base URL: https://agents.nulucre.com
Methodology: https://agents.nulucre.com/methodology
MCP Server: https://agents.nulucre.com/mcp


Endpoints

EndpointPriceDescription
GET /reputation/{wallet}$0.001 USDCEVM wallet score (81+ chains)
GET /reputation/signed/{wallet}$0.01 USDCEVM score with ECDSA proof
GET /reputation/stellar/{G-address}$0.001 USDCStellar wallet score
GET /reputation/stellar/signed/{G-address}$0.01 USDCStellar score with ECDSA proof
GET /reputation/xrpl/{r-address}$0.001 USDCXRPL wallet score
GET /reputation/solana/{address}$0.001 USDCSolana wallet score
POST /verify$0.01 USDCDeFi TVL fact verification
GET /tvl/{protocol}FREERaw TVL lookup
GET /healthFREEHealth check
GET /methodologyFREEScoring methodology

Payment Networks

NetworkTokenPay To
Base MainnetUSDC (ERC-20)0xd97C122cB81894213C67Bcc774448955d09915bC
Stellar PubnetUSDC (SEP-41)GCRUBFDANV52JP3URUJ7EZGPZKFEESBTW7T3FV2SJXZZGB6HDNRBWV24
Solana MainnetUSDC (SPL)GCRUBFDANv52JP3URUJ7EZGPZKFEESBTW7T3FV2SJXZZGB6HDNRBWV24

Score Bands

ScoreStatusMeaning
80–100TRUSTEDLong history, high activity, broad multi-chain footprint
60–79VERIFIEDEstablished wallet with meaningful on-chain history
40–59CAUTIONLimited history or signals
20–39RISKYVery new, inactive, or abnormal patterns
0–19BLACKLISTEDSanctioned or near-zero activity
—INSUFFICIENT_DATAFewer than 5 txs (EVM/Solana) or 3 txs (Stellar/XRPL) — not a risk verdict

Full methodology: https://agents.nulucre.com/methodology


Standard Response

json
{  "wallet": "0x123...abc",  "score": 74,  "status": "VERIFIED",  "network": "evm",  "breakdown": {    "walletAge": { "score": 28, "raw": "3400 days" },    "txVolume": { "score": 35, "raw": "2100 txs" },    "defiActivity": { "score": 6, "raw": "3 protocols" },    "multiChain": { "score": 5, "raw": "2 EVM chains" }  },  "timestamp": "2026-10-20T00:00:00.000Z"}

Thin-file response:

json
{  "wallet": "0x123...abc",  "score": null,  "status": "INSUFFICIENT_DATA",  "message": "Too few transactions to score reliably",  "timestamp": "2026-10-20T00:00:00.000Z"}

How x402 Payment Works

  1. Agent calls endpoint
  2. Server returns 402 Payment Required with payment details (Base, Stellar, or Solana)
  3. Agent sends USDC on chosen network
  4. Agent includes payment proof in next request header
  5. Server verifies and returns score

No accounts. No API keys. Fully autonomous.


Cryptographic Verification

Signed endpoints return an ECDSA-P256 signature verifiable against the Nulucre public key.

  • JWKS: https://nulucre.com/.well-known/jwks.json
  • Algorithm: ECDSA-P256 / SHA-256 / IEEE P1363

Agent Discovery

https://agents.nulucre.com/reputation/ https://nulucre.com/.well-known/agent.json https://nulucre.com/.well-known/x402.json https://nulucre.com/.well-known/jwks.json https://nulucre.com/openapi.json


Quick Start

bash
# Free health checkcurl https://agents.nulucre.com/health
# Free TVL lookupcurl https://agents.nulucre.com/tvl/aave
# EVM wallet score (requires x402 payment)curl https://agents.nulucre.com/reputation/0xYourWalletAddress
# EVM signed score with ECDSA proofcurl https://agents.nulucre.com/reputation/signed/0xYourWalletAddress
# Stellar wallet scorecurl https://agents.nulucre.com/reputation/stellar/GYourStellarAddress
# XRPL wallet scorecurl https://agents.nulucre.com/reputation/xrpl/rYourXRPLAddress
# Solana wallet scorecurl https://agents.nulucre.com/reputation/solana/YourSolanaAddress
# Fact verificationcurl -X POST https://agents.nulucre.com/verify \  -H "Content-Type: application/json" \  -d '{"claim": "Uniswap has $5B TVL", "protocol": "uniswap"}'

Stack

  • Node.js + Express + PM2
  • x402 payment protocol (Base, Stellar, Solana)
  • Etherscan V2, Alchemy, Ankr, DeBank/Moralis (EVM)
  • Stellar Horizon + StellarExpert (Stellar)
  • xrplcluster.com (XRPL)
  • Solana Mainnet RPC (Solana)
  • ECDSA-P256 cryptographic signing
  • Nginx reverse proxy on Ubuntu VPS

Links


MIT License — © 2026 Nulucre Inc.

Source: README.md at commit ab45fbb

Tools

5

nulucre_get_stellar_wallet_score

Get Stellar Wallet Reputation Score

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": { "scor

Parameterssignedg_addressrequiredresponse_format

nulucre_get_evm_wallet_score

Get EVM Wallet Reputation Score

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

Parameterssignedwalletrequiredresponse_format

nulucre_get_solana_wallet_score

Get Solana Wallet Reputation Score

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.

Parameterssignedaddressrequiredresponse_format

nulucre_get_xrpl_wallet_score

Get XRPL Wallet Reputation Score

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.

Parameterssignedr_addressrequiredresponse_format

nulucre_check_service_status

Check Nulucre 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

Takes no parameters.

Version history

2
  1. v1.1.0LatestOct 18, 2026
  2. v1.0.0Oct 17, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.