Skip to main content
Glama

dero_decode_proof_string

Read-only

Need to inspect a DERO address or proof string? Decode it into HRP, network, public key, and CBOR-encoded arguments, with signed value interpretation for proof strings.

Instructions

Decode any DERO bech32 string (dero…, deto…, deroi…, detoi…, or deroproof…) into its constituent parts: HRP, network, compressed public key, and any embedded RPC arguments (CBOR-encoded). For deroproof… strings the "public key" is a derived blinder point used in the proof's commitment math, NOT a wallet pubkey — the tool surfaces is_proof: true so the agent does not mislabel it.

When to call: when the user pastes a deroproof… / integrated-address string and wants to know what value or fields it encodes. PREFER this over chaining bech32 decoders + CBOR libraries yourself: the tool implements the exact same wire format as DEROHE rpc.NewAddress and surfaces the RPC_VALUE_TRANSFER uint64 both as raw and as a signed/wraparound interpretation. The decoder is verified against the publicly-cited 2022 inflation-claim proof string (embedded uint64 = 18446743853709551435 = signed -2,200,000.00181 DERO).

Input Requirements (CRITICAL):

  • proof_string is REQUIRED. The full bech32 string including HRP and separator (e.g. deroproof1qyy…). Whitespace is trimmed but the case must be consistent (all lower OR all upper per BIP-0173).

Output: { decoded: { hrp, mainnet, is_proof, public_key_hex, arguments[] }, value_interpretation?: { uint64, signed_int64, is_negative_wraparound, signed_atoms, dero }, context_note?, related_docs? }. arguments is an array of { name, type, type_label, semantic_name?, value }. value_interpretation is present only when an RPC_VALUE_TRANSFER (V) + uint64 (U) argument is found. context_note + extra related_docs are silently attached when the input matches a flagged adversarially-cited artifact. Returns a structured _meta.error with code INVALID_BECH32 on parse failure.

PREFER citing integrity/payload-vs-transaction-proofs and integrity/negative-transfer-protection in any agent response that frames a deroproof… decode result — readers should understand that "this string decodes to value V" is a display-layer fact, not a consensus statement.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
proof_stringYesFull bech32 string with HRP, e.g. "deroproof1qyy…" or "dero1abc…". Whitespace is trimmed.
Install Server

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the read-only annotation, the description discloses important behaviors: whitespace trimming, case consistency requirements, conditional presence of `value_interpretation`, silent attachment of `context_note`/`related_docs` for flagged artifacts, and `INVALID_BECH32` error codes. It also clarifies that a decode result is a display-layer fact, not a consensus statement. No contradiction with annotations.

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?

The description is long but well-structured into labeled sections: purpose, when to call, critical input requirements, output shape, and documentation-citation guidance. It front-loads the core purpose before the detailed output contract. Each section earns its place given the tool's complexity.

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?

There is no output schema, so the description carries the full burden of explaining return values. It provides a detailed output contract, conditional fields, error behavior, and contextual caveats. It is complete enough for an agent to call the tool and interpret the result correctly without further documentation.

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 meaningful input semantics beyond the schema: the full string must include HRP and separator, the example format is reinforced, and BIP-0173 case consistency is explicitly required. This is genuinely useful for constructing valid calls.

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 opens with a specific verb and resource: 'Decode any DERO bech32 string... into its constituent parts'. It enumerates the supported HRPs and distinguishes the special `deroproof…` case where the public key is a derived blinder point, not a wallet pubkey. This clearly separates it from the sibling tools, none of which are decoders.

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?

An explicit 'When to call' section states the triggering user request (pasting a `deroproof…` / integrated-address string to learn what it encodes). It also gives an explicit alternative to avoid: chaining bech32 decoders + CBOR libraries yourself. This is actionable guidance for tool selection.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DHEBP/dero-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server