Skip to main content
Glama

get_shield

Check token security warnings via Jupiter Ultra Shield before trading. Verify mint/freeze authority and listing status to avoid scam tokens. Supports multiple mints per request.

Instructions

    Get token security information via Jupiter Ultra Shield API.

    This function is FREE to call and does not execute any transactions.
    Use this to check token security before making trades. Essential for avoiding scam tokens.

    IMPORTANT: You can check MULTIPLE tokens in a single request by comma-separating mints!
    This is much more efficient than making multiple individual requests.

    Args:
        mints: Comma-separated list of token mint addresses to check
               Example: "mint1,mint2,mint3" (no spaces between commas)
               No specific limit mentioned in API docs

    Returns:
        Dictionary containing:
        - success: Boolean indicating if the request was successful
        - data: A "warnings" object with mint addresses as keys, each containing an array of warnings
        - error: Error message if request failed

    Warning Types and Severities:
        Info level warnings:
        - NOT_VERIFIED: Token is not verified, double-check mint address
        - LOW_ORGANIC_ACTIVITY: Token has low organic trading activity
        - NEW_LISTING: Token is newly listed
        - HAS_MINT_AUTHORITY: Owner can mint more tokens (dilution risk)

        Warning level warnings:
        - HAS_FREEZE_AUTHORITY: Owner can freeze your tokens (high risk!)
        - Transfer tax tokens are disabled on Jupiter frontend

    Example:
        >>> # Check security for multiple tokens at once
        >>> mints = "So11111111111111111111111111111111111111112,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v,someTokenMint"
        >>> result = await api.get_shield(mints=mints)
        >>> if result["success"]:
        ...     warnings = result["data"]["warnings"]
        ...     for mint, mint_warnings in warnings.items():
        ...         if mint_warnings:
        ...             print(f"

āš ļø Warnings for {mint}:") ... for warning in mint_warnings: ... severity_icon = "šŸ”“" if warning["severity"] == "warning" else "🟔" ... print(f" {severity_icon} {warning['type']}: {warning['message']}") ... else: ... print(f"āœ… {mint}: No warnings found")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mintsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

Despite having no annotations, the description fully discloses behavior: it is free, performs no transactions, and returns a dictionary with success/warnings/error keys. It details the specific warning types and their severity levels, warning about risks like mint and freeze authorities. This goes well beyond a minimal disclosure.

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 lengthy but well-organized into purpose, parameter explanation, return format, warning types, and example. Every section adds value; the length is justified given the tool's complexity. However, it could be slightly tightened by condensing the warning descriptions without losing critical detail.

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?

The description is self-contained for an agent: it explains how to call the tool, what the response looks like, how to interpret warnings, and provides a complete usage example. The output schema exists, but the description's return format details and warning semantics are more informative, making it fully complete.

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

Parameters5/5

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

The schema provides only a string parameter named 'mints' with no description, and schema coverage is 0%. The description compensates exceptionally: explains comma-separated format, provides an explicit example, notes no spaces, and mentions no specific limit. This is essential guidance for correct invocation.

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 action ('Get token security information') and clearly identifies the resource (Jupiter Ultra Shield API). It adds important context that the call is free and transactional, distinguishing it from trade-related siblings like get_swap_quote and execute_swap_transaction.

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?

Explicitly states when to use it: 'Use this to check token security before making trades' and 'Essential for avoiding scam tokens.' It also provides an efficiency guideline (comma-separated mints in one request) and notes it does not execute transactions, which implies safe usage. Though no alternatives are named, the tool's unique purpose is clear.

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

Install Server

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/araa47/jupiter-mcp'

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