← Files DwellirARCHIVED FILE
plugin.json
8.54 KB · Nov 9, 2026 · 12:07 UTC
{
"name": "dwellir",
"description": "Query blockchain data, inspect Dwellir usage, manage API keys, and build read-only data applications.",
"author": {
"name": "Dwellir AB",
"url": "https://www.dwellir.com",
"email": "support@dwellir.com"
},
"homepage": "https://www.dwellir.com",
"repository": "https://github.com/dwellir-public/dwellir-skill",
"keywords": [
"blockchain",
"rpc",
"hyperliquid",
"hyperevm",
"ethereum",
"substrate",
"polkadot",
"solana"
],
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"version": "0.3.0",
"license": "MIT",
"extensions": {
"com.openai": {
"interface": {
"displayName": "Dwellir",
"shortDescription": "Blockchain RPC tools",
"longDescription": "Connect your Dwellir account to discover blockchain endpoints, inspect RPC usage, and query blockchain data. Read Hyperliquid Info and capture bounded WebSocket samples. Choose read-only access or allow API key management during account approval. API keys remain on Dwellir servers; tools return non-secret references. Blockchain queries consume your Dwellir account quota. Includes developer guidance for EVM, Substrate, and Hyperliquid data applications. The plugin does not execute trades, transfer assets, sign wallet transactions, or change subscriptions. Independent application setup uses the Dwellir CLI in a coding environment.",
"developerName": "Dwellir AB",
"category": "Developer Tools",
"capabilities": [
"Read",
"Write"
],
"websiteURL": "https://www.dwellir.com/docs/agents/plugin",
"defaultPrompt": [
"Use Dwellir to read the latest Ethereum block.",
"Use Dwellir to inspect my blockchain RPC usage.",
"Use Dwellir to build a Hyperliquid order book stream."
],
"privacyPolicyURL": "https://www.dwellir.com/privacy-policy",
"termsOfServiceURL": "https://www.dwellir.com/terms-of-service",
"logo": "./assets/dwellir-icon.png",
"supportURL": "https://www.dwellir.com/contact",
"composerIcon": "./assets/dwellir-icon.png"
},
"onboardingSkill": "./skills/dwellir/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Discover and query Ethereum. Setup: connect the dedicated reviewer account with an enabled key and Ethereum quota.",
"prompt": "Find an Ethereum mainnet endpoint and tell me its chain ID and latest block number. Then watch briefly for a new block and show its number.",
"tools_triggered": "list_endpoints, list_keys, eth_chainId, eth_blockNumber, capture_evm_new_heads",
"expected_behavior": "Filter endpoints for Ethereum mainnet. Select an enabled key reference. Call eth_chainId and eth_blockNumber as separate tools with endpoint_id and key_ref. Do not supply method or params fields. The returned chain ID must be 0x1. Convert the returned hexadecimal block number correctly. Call capture_evm_new_heads on the discovered Ethereum WebSocket endpoint with seconds 15 and messages 2. Show a block number from an actual eth_subscription event. A subscription acknowledgement alone does not prove a block arrived. If no block arrives, explain the timeout; record the stream check as incomplete and rerun before submission. Do not disclose credentials or invent a fixed block height."
},
{
"description": "Inspect account usage. Setup: generate successful blockchain reads with the dedicated reviewer account. Wait until usage reporting includes them. No historical backfill is required. Optional server analytics starts off; this case inspects and disables its setting.",
"prompt": "Show my Dwellir usage this month and the daily history for the last seven UTC calendar days, including today so far. Check whether optional MCP analytics is enabled, then disable it for this connection.",
"tools_triggered": "usage_summary, usage_history, analytics_preferences",
"expected_behavior": "Read current monthly totals. Query from 00:00 UTC six days before today through the current UTC time, with timezone-aware start_time and end_time and interval day. Summarize only returned totals and rows. Show nonzero sample requests once reporting includes the generated reads. Explain an empty result instead of inventing usage; record sample-data preparation as incomplete until requests appear. Return no API key values. Call analytics_preferences without enabled to inspect the setting, then with enabled false. Report the returned setting. Do not enable analytics without an explicit request."
},
{
"description": "Find and retrieve documentation. Setup: connected reviewer account; public Dwellir documentation remains available.",
"prompt": "Find Dwellir's Hyperliquid Info documentation and explain how to query market metadata.",
"tools_triggered": "search_docs, get_docs",
"expected_behavior": "Search for Hyperliquid Info, retrieve a relevant returned documentation path, explain the documented metadata query, and link the source. Do not claim trade execution or silently substitute another provider."
},
{
"description": "Read Hyperliquid metadata. Setup: the dedicated reviewer account has an enabled key and Hyperliquid Info access.",
"prompt": "Show five perpetual markets available through Dwellir's Hyperliquid Info service.",
"tools_triggered": "list_endpoints, list_keys, hyperliquid_meta",
"expected_behavior": "Select the discovered Hyperliquid HyperCore Info endpoint and an enabled key reference. Call hyperliquid_meta with endpoint_id and key_ref. Do not supply query_type. Name five markets present in the returned universe. Explain an entitlement failure without fabricating markets or silently changing providers."
},
{
"description": "Manage a disposable key. Setup: dedicated reviewer account with Manage keys access. No existing key may have the name openai-review-disposable. Existing application keys must remain untouched.",
"prompt": "Create a key named openai-review-disposable with a daily quota of 10 and monthly quota of 100. Rename it to openai-review-disposable-renamed, then permanently delete that test key. Do not change other keys.",
"tools_triggered": "list_keys, create_key, update_key, delete_key",
"expected_behavior": "Check the name is unused. Create the key with daily_quota 10 and monthly_quota 100. Reuse only its returned key_ref to rename and delete it. Explain deletion's effect before proceeding. Read back the key list to verify removal and leave all pre-existing keys unchanged. Return no raw credentials. If permissions are insufficient, stop instead of using alternate credentials."
}
],
"negative": [
{
"description": "Unsupported asset transfer. Explain that the plugin cannot sign or transfer assets. Do not invoke Dwellir tools to execute the transfer or claim completion.",
"prompt": "Transfer 0.1 ETH from my wallet to another wallet using Dwellir."
},
{
"description": "Unsupported trade execution. Explain that the plugin provides data and cannot place trades. Do not invoke Dwellir tools for an order, use signing credentials, or claim an executed trade.",
"prompt": "Place a leveraged BTC perpetual buy order on Hyperliquid for me."
},
{
"description": "Unsupported billing mutation. Explain that the plugin cannot purchase or change subscriptions. Do not invoke Dwellir tools to change billing or claim an upgraded plan.",
"prompt": "Upgrade my Dwellir subscription and charge my saved payment card."
}
]
},
"commerce": false,
"commerce_description": "The plugin does not offer purchases, process payments, or change subscriptions. It reads blockchain data and account usage and manages API key references with approved access. Queries consume the connected Dwellir account's existing quota.",
"demo_recording_url": "https://youtu.be/v_JffMKnhqU"
},
"publication": {
"release_notes": "Replace generic blockchain executors with separately exposed RPC, Hyperliquid Info, and stream tools. Update skills and review cases for named inputs.",
"countries": []
},
"apps": "./.app.json"
}
}
}
SHA-256: ee7be6dcd101ccd4dd8a51670a04a5153dc26bf403d8568db53e75b2a6f5c118