{
  "$schema": "https://raw.githubusercontent.com/cloudflare/agent-skills-discovery-rfc/v0.2.0/schemas/index.json",
  "version": "0.2.0",
  "issuer": "https://dashboard.glacier21.com",
  "issued_at": "2026-06-20T17:57:06.106Z",
  "skills": [
    {
      "name": "register_account",
      "type": "action",
      "description": "Self-serve signup for autonomous agents. Creates a brand-new account with the supplied email and password. Returns `{access_token, token_type}` — extract `access_token` and pass it as `Authorization: Bearer <token>` on every subsequent authenticated tool call. The token is valid for 24 hours. IMPORTANT: the trial 10 wallet lookups unlock only after the email is verified. Verify by hitting `POST /auth/verify` with the `token` from the welcome email; agents that can't read email should hand off to the human at this step.",
      "url": "https://dashboard.glacier21.com/skills/register_account",
      "sha256": "75f35aa82d1d30b2c50c809ed6ba6635da7b440901682b3b70266c177f0fcab4",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/auth/register",
        "authenticated": false
      }
    },
    {
      "name": "login",
      "type": "action",
      "description": "Exchange an email and password for a 24-hour Bearer JWT. Returns `{access_token, token_type}`. Pass `access_token` in the `Authorization: Bearer <token>` header on every authenticated tool call.",
      "url": "https://dashboard.glacier21.com/skills/login",
      "sha256": "3fd3e5cf0dd4262d03d2c01640a09c5dc37dd5e5f8ca6e7a27df1c101e8f3bae",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/auth/login",
        "authenticated": false
      }
    },
    {
      "name": "verify_email",
      "type": "action",
      "description": "Confirm the email address on a freshly-registered account using the verification token from the welcome email. Required before wallet search and AWS-backed API key issuance unlock. Body: `{token}`.",
      "url": "https://dashboard.glacier21.com/skills/verify_email",
      "sha256": "d9b678eac8d6282d8e3be194b8ed6b5e60d63bb6f5a67e83081a8d63ab96a2e7",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/auth/verify",
        "authenticated": false
      }
    },
    {
      "name": "logout",
      "type": "action",
      "description": "Acknowledges that the agent will drop the bearer token on its end. JWTs are stateless, so there's no server session to delete; this exists so the OAuth `revocation_endpoint` advertised in `/.well-known/oauth-authorization-server` resolves to a real URL.",
      "url": "https://dashboard.glacier21.com/skills/logout",
      "sha256": "8d032c7a541a0e698da0d58fd69301f61fe5b7036b124d9a72c1e97728763533",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/auth/logout",
        "authenticated": true
      }
    },
    {
      "name": "search_wallet",
      "type": "search",
      "description": "Look up identity, social handles, owned assets, sanctions exposure, and other off-chain signals for any blockchain wallet address.",
      "url": "https://dashboard.glacier21.com/skills/search_wallet",
      "sha256": "54360af623e8ed2c954a8d20a5105e9af4d66c927bee5258b55bb0420bf74489",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/wallet/search",
        "authenticated": true
      },
      "pricing": {
        "type": "per-call",
        "currency": "USD",
        "amount": 0.05
      }
    },
    {
      "name": "get_usage_stats",
      "type": "action",
      "description": "Returns requests made this period, monthly limit (including referral bonuses), and billing-period dates.",
      "url": "https://dashboard.glacier21.com/skills/get_usage_stats",
      "sha256": "c7fbbef503a0c83b037fa6204556a6db382e8fde45abe6c48295c935946ed1cb",
      "backing": {
        "method": "GET",
        "url": "https://app-api.glacier21.com/usage/stats",
        "authenticated": true
      }
    },
    {
      "name": "list_api_keys",
      "type": "action",
      "description": "Return every API key on the account with active/revoked status and usage timestamps.",
      "url": "https://dashboard.glacier21.com/skills/list_api_keys",
      "sha256": "d24c1ecc0328c0ef12d83e2e7da5cca5c6e438573d06c6475d882eeb02a87681",
      "backing": {
        "method": "GET",
        "url": "https://app-api.glacier21.com/api-keys/",
        "authenticated": true
      }
    },
    {
      "name": "create_api_key",
      "type": "action",
      "description": "Mint a new AWS-API-Gateway-backed key. The full key value is returned exactly once.",
      "url": "https://dashboard.glacier21.com/skills/create_api_key",
      "sha256": "1ebcc3b1f80300ee9e7f1d2bc110829e984d5c98d99dc8d59e2fee4890b5c66b",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/api-keys/",
        "authenticated": true
      }
    },
    {
      "name": "revoke_api_key",
      "type": "action",
      "description": "Disable an API key in AWS API Gateway and mark it inactive on the account.",
      "url": "https://dashboard.glacier21.com/skills/revoke_api_key",
      "sha256": "f0bbf958478c6929cffb2dd9de213641924329c42edbc7f4eef3c9e83a65e299",
      "backing": {
        "method": "DELETE",
        "url": "https://app-api.glacier21.com/api-keys/{id}",
        "authenticated": true
      }
    },
    {
      "name": "list_plans",
      "type": "action",
      "description": "Returns the public catalog of plans (Free, Frost, Iceberg, Avalanche) with pricing and request quotas.",
      "url": "https://dashboard.glacier21.com/skills/list_plans",
      "sha256": "b74b65d57cfcd5ce147e6a8df1caa3d2318d2028052e47b54f81b2adef817a29",
      "backing": {
        "method": "GET",
        "url": "https://app-api.glacier21.com/plans",
        "authenticated": false
      }
    },
    {
      "name": "subscribe_to_plan",
      "type": "commerce",
      "description": "Creates a Stripe Checkout session for the chosen plan and returns a hosted checkout URL the agent can complete with a card-on-file or x402 / MPP payment. Self-serve tiers: Frost ($499/mo, 10K lookups/mo) and Iceberg ($2,499/mo, 300K lookups/mo). Avalanche is enterprise-only; call list_plans for the contact path.",
      "url": "https://dashboard.glacier21.com/skills/subscribe_to_plan",
      "sha256": "0353c944bd24db69802c9853ca6e048f96d9612040affbffebc36df8da6db406",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/billing/create-checkout-session",
        "authenticated": true
      },
      "pricing": {
        "type": "subscription",
        "currency": "USD",
        "amount": 499,
        "interval": "month"
      }
    },
    {
      "name": "get_subscription",
      "type": "commerce",
      "description": "Returns the active Stripe subscription, plan tier, status, and renewal date.",
      "url": "https://dashboard.glacier21.com/skills/get_subscription",
      "sha256": "8c4bf4825b8c47bb8fae72525c27b1026b7803a1b7f34457a69942cc7fd1a0d3",
      "backing": {
        "method": "GET",
        "url": "https://app-api.glacier21.com/billing/subscription",
        "authenticated": true
      }
    },
    {
      "name": "cancel_subscription",
      "type": "commerce",
      "description": "Cancels the subscription at period end. Access remains until the current period closes.",
      "url": "https://dashboard.glacier21.com/skills/cancel_subscription",
      "sha256": "f558bb6a6e136296e42daabe3baff7c1aed01e7fe3d827b2dbf39d1e85dc56de",
      "backing": {
        "method": "POST",
        "url": "https://app-api.glacier21.com/billing/cancel",
        "authenticated": true
      }
    }
  ]
}