CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-skill-index-evals/jup-ag__agent-skills__integrating-jupiter

Comprehensive guidance for integrating Jupiter APIs (Ultra Swap, Lend, Perps, Trigger, Recurring, Tokens, Price, Portfolio, Prediction Markets, Send, Studio, Lock, Routing).

86

1.85x

Quality

84%

Does it follow best practices?

Impact

91%

1.85x

Average score across 5 eval scenarios

Overview
Skills
Evals
Files

rubric.jsonevals/scenario-4/

{
  "context": "Tests whether the agent correctly implements Jupiter Tokens and Price API patterns including mint-address-as-identity, trust signal surfacing, price confidence handling, fail-closed behavior for safety-critical decisions, batch size limits, and handling of missing or null price data.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Tokens API base path",
      "description": "Uses the correct base path /tokens/v2 under https://api.jup.ag for token endpoints (search, tag, category/interval, recent)",
      "max_score": 8
    },
    {
      "name": "Price API base path",
      "description": "Uses the correct base path /price/v3 under https://api.jup.ag for price lookups with comma-separated mint IDs",
      "max_score": 8
    },
    {
      "name": "Mint address as primary identity",
      "description": "Uses mint address as the primary/canonical token identifier throughout the code; treats symbol and name as display-only or convenience fields",
      "max_score": 10
    },
    {
      "name": "Suspicious token surfacing",
      "description": "The TokenInfo interface or token processing logic surfaces the audit.isSus flag and organicScore to the consuming code/UI rather than discarding them",
      "max_score": 10
    },
    {
      "name": "Price batch size limit",
      "description": "The getPrices function respects a maximum of 50 mint IDs per request; if more are provided, it chunks them into multiple requests",
      "max_score": 10
    },
    {
      "name": "Null/missing price handling",
      "description": "Handles the case where tokens return null prices or are omitted from the price response without throwing an error; treats these as valid (not-available) results rather than failures",
      "max_score": 10
    },
    {
      "name": "Confidence level in price data",
      "description": "The PriceResult interface or price processing includes a confidenceLevel field from the API response and makes it available to consumers",
      "max_score": 8
    },
    {
      "name": "Fail closed for safety-critical prices",
      "description": "The getSafePrice function rejects or returns a failure when price data is missing, null, or has low confidence rather than returning a potentially misleading value",
      "max_score": 12
    },
    {
      "name": "API key authentication",
      "description": "All API requests include the x-api-key header loaded from environment/config; fails fast if the key is missing",
      "max_score": 8
    },
    {
      "name": "Structured error handling",
      "description": "Errors are wrapped in structured types with code, message, and retryable flag; rate limit errors (429) are classified as retryable",
      "max_score": 8
    },
    {
      "name": "Token search supports mint addresses",
      "description": "The searchTokens function can accept mint addresses (not just names/symbols) as the query parameter, consistent with using mint as the primary identity",
      "max_score": 8
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl-skill-index-evals/jup-ag__agent-skills__integrating-jupiter@0.0.1

evals

tile.json