Skill
mantle-address-registry-navigator
When to use
What it does
by mantle-xyzยทv1.0.0
Install
git clone https://github.com/mantle-xyz/mantle-skillsResolve addresses from trusted sources only and fail closed when data is missing or stale. Never synthesize contract addresses from memory.
mantle_resolveToken for token symbol/name requests.mantle_resolveAddress for contract key, alias, or label requests.assets/registry.json (fallback/manual cross-check only).medium. Note the tool unavailability in the response notes field.network (mainnet or sepolia; local registry fallback maps sepolia to testnet)identifier (contract key, symbol, or alias)category (system, token, bridge, defi, or any)protocol_id + contract_role when a DeFi request names a protocol but not a registry keykey matches first, then exact protocol_id + contract_role.mantle_validateAddress and registry metadata:
valid_format is true.active) for execution.source.url and source.retrieved_at).supports that action.assets/registry.json (for example REPLACE_WITH_EIP55_CHECKSUM_ADDRESS).low and request manual confirmation.contract_role), stop and ask which specific contract the user needs. Use the Clarification Needed format and list all matching candidates.Address Resolution Result
- identifier:
- network:
- address:
- category:
- status:
- source_url:
- source_retrieved_at:
- confidence: high | medium | low
- notes:
When no verified entry exists, return this structure instead of guessing:
Address Resolution Result
- identifier: [requested identifier]
- network: [requested network]
- address: BLOCKED
- category: [requested or inferred category]
- status: not_found
- source_url: N/A
- source_retrieved_at: N/A
- confidence: none
- notes: [why lookup failed โ e.g., "No verified entry in tools or local registry for this identifier."]
When the user supplies an address and asks whether it is official, compare against the registry and return:
Address Verification Result
- queried_address: [user-supplied address]
- identifier: [matched registry key, if any]
- network: [network]
- registry_address: [address from registry, or NONE]
- match: true | false
- status: [registry entry status, or not_found]
- source_url: [registry source URL, or N/A]
- source_retrieved_at: [registry timestamp, or N/A]
- confidence: high | medium | low
- notes: [explanation โ e.g., "Address does not match the verified Aave v3 Pool entry."]
When multiple candidates remain and the request is ambiguous, do NOT pick one. Instead respond with:
Clarification Needed
- identifier: [requested identifier]
- network: [network]
- candidates:
1. [key] โ [label] ([contract_role]) โ [address]
2. [key] โ [label] ([contract_role]) โ [address]
- question: [ask the user which specific contract they need]
assets/registry.jsonreferences/address-registry-playbook.md