Skip to main content
Glama

nulucre-wallet-reputation

Get Stellar Wallet Reputation Score

nulucre_get_stellar_wallet_score
Read-onlyIdempotent

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

TableJSON Schema
NameRequiredDescriptionDefault
signedNoIf true, requests an ECDSA-P256 cryptographically signed score for independent verification (higher cost endpoint)
g_addressYesStellar wallet address starting with 'G' (56 characters)
response_formatNoOutput format: 'markdown' for human-readable report or 'json' for machine-readable structured datamarkdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: the eight signal inputs, the sanctions lists screened (OFAC SDN, EU, UN), the deterministic BLACKLISTED=0 behavior, the higher-cost nature of the signed endpoint, and error handling for invalid addresses and exhausted free quota. That is exactly the behavioral disclosure an agent needs before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and organized into Args/Returns/Examples/Error Handling sections, which is easy for an agent to scan. It is on the long side, and the g_address phrasing duplicates the schema's pattern description almost verbatim, which is mild redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so with a full JSON shape including status enum values and the conditional signature field. Combined with error handling and examples, nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: 'signed' is tied to independent verification via the public JWKS endpoint and flagged as a higher-cost path, and the markdown-vs-json tradeoff is spelled out. The g_address explanation largely restates the schema pattern, keeping it below a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Get a 0-100 trust score for a Stellar wallet address') and immediately scopes it to the Stellar network, explicitly stating 'No EVM data is used.' It also names the sibling to use instead for EVM addresses, so an agent can distinguish it from nulucre_get_evm_wallet_score and nulucre_get_xrpl_wallet_score without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states concrete when-to-use conditions ('before executing a payment, approving a swap counterparty, or evaluating a new account') and a when-not-to-use clause routing EVM addresses to nulucre_get_evm_wallet_score. The examples section reinforces both positive and negative triggers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.