gradeNot graded
page: Every page
list-helium-toolsAnswer
List every tool page on heliumtools.org: path, what it does, and the WebMCP tools it registers once open. Use open-helium-tool to navigate to one; its tools become available after navigation (a toolchange event fires).
View tool JSON
{
"name": "list-helium-tools",
"kind": "answer",
"impl": "imperative",
"description": "List every tool page on heliumtools.org: path, what it does, and the WebMCP tools it registers once open. Use open-helium-tool to navigate to one; its tools become available after navigation (a toolchange event fires).",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}open-helium-toolAction
Navigate this tab to one of the site's tool pages. After navigation the page registers its own WebMCP tools (listed by list-helium-tools) and fires toolchange — re-query the tool list, then use the page's tools.
View tool JSON
{
"name": "open-helium-tool",
"kind": "act",
"impl": "imperative",
"description": "Navigate this tab to one of the site's tool pages. After navigation the page registers its own WebMCP tools (listed by list-helium-tools) and fires toolchange — re-query the tool list, then use the page's tools.",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "string",
"enum": [
"/",
"/wallet-dashboard",
"/hnt-price",
"/hotspot-claimer",
"/ve-hnt",
"/vote",
"/votes",
"/dc-mint",
"/oui-notifier/",
"/iot-onboard",
"/mobile-onboard",
"/update-location",
"/multi-gateway",
"/hotspot-map",
"/brand",
"/l1-migration"
],
"description": "The tool page to open."
}
},
"required": [
"path"
],
"additionalProperties": false
},
"page": "/"
}get-hnt-priceAnswer
Current HNT price snapshot from the heliumtools.org price API: live market price in USD (Jupiter aggregator) and the on-chain oracle price that HNT-to-Data-Credits minting pays, with timestamps. Cached server-side (~1 min freshness). For a live chain read, open /hnt-price and use get-hnt-price-instant.
View tool JSON
{
"name": "get-hnt-price",
"kind": "answer",
"impl": "imperative",
"description": "Current HNT price snapshot from the heliumtools.org price API: live market price in USD (Jupiter aggregator) and the on-chain oracle price that HNT-to-Data-Credits minting pays, with timestamps. Cached server-side (~1 min freshness). For a live chain read, open /hnt-price and use get-hnt-price-instant.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}page: Wallet dashboard
open-wallet-dashboardAction
Show a wallet in the dashboard UI: balances, fleet map, rewards, IoT connectivity and traffic (per-Hotspot health, and each Hotspot's daily delivered messages per operator), Mobile activity (daily data-transfer HNT, users served, heartbeats, speedtests, bans; kept live while the page is visible), governance, and activity all load for the user to see. Like any view, the wallet is added to this browser's Recent wallets on the dashboard's lookup screen. Use the get-* tools to read the underlying data.
View tool JSON
{
"name": "open-wallet-dashboard",
"kind": "act",
"impl": "imperative",
"description": "Show a wallet in the dashboard UI: balances, fleet map, rewards, IoT connectivity and traffic (per-Hotspot health, and each Hotspot's daily delivered messages per operator), Mobile activity (daily data-transfer HNT, users served, heartbeats, speedtests, bans; kept live while the page is visible), governance, and activity all load for the user to see. Like any view, the wallet is added to this browser's Recent wallets on the dashboard's lookup screen. Use the get-* tools to read the underlying data.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58) to display."
}
},
"required": [
"address"
],
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-wallet-summaryAnswer
Token balances (HNT/MOBILE/IOT/SOL/DC) with USD prices, portfolio total, and fleet stats (counts by network/device type, asserted locations, regions, onboarding DC) for a wallet. Cached server-side ~60s. Onboard dates are not included — use get-wallet-onboarding.
View tool JSON
{
"name": "get-wallet-summary",
"kind": "answer",
"impl": "imperative",
"description": "Token balances (HNT/MOBILE/IOT/SOL/DC) with USD prices, portfolio total, and fleet stats (counts by network/device type, asserted locations, regions, onboarding DC) for a wallet. Cached server-side ~60s. Onboard dates are not included — use get-wallet-onboarding.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58). Optional when the dashboard already shows a wallet — defaults to that one."
}
},
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-wallet-fleetAnswer
Paged per-Hotspot list for a wallet plus fleet stats (counts by network/device type, asserted locations, regions, onboarding DC). Each row: name, entityKey, assetId, network(s), deviceType, location (H3 cell) with city/state/country, elevation (m), gain (tenths of a dBi), and dcOnboardingFeePaid. On-chain metadata only — for onboard dates use get-wallet-onboarding; for IoT connectivity and traffic, get-wallet-iot-status; for Mobile activity, get-wallet-mobile-activity; for rewards, get-wallet-rewards. Sorted by entityKey; use offset/limit and pagination.nextOffset to retrieve the full fleet. Stats cover the entire fleet.
View tool JSON
{
"name": "get-wallet-fleet",
"kind": "answer",
"impl": "imperative",
"description": "Paged per-Hotspot list for a wallet plus fleet stats (counts by network/device type, asserted locations, regions, onboarding DC). Each row: name, entityKey, assetId, network(s), deviceType, location (H3 cell) with city/state/country, elevation (m), gain (tenths of a dBi), and dcOnboardingFeePaid. On-chain metadata only — for onboard dates use get-wallet-onboarding; for IoT connectivity and traffic, get-wallet-iot-status; for Mobile activity, get-wallet-mobile-activity; for rewards, get-wallet-rewards. Sorted by entityKey; use offset/limit and pagination.nextOffset to retrieve the full fleet. Stats cover the entire fleet.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58). Optional when the dashboard already shows a wallet — defaults to that one."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Start at this offset; use pagination.nextOffset for the next page."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 200,
"description": "Maximum Hotspots on this page."
}
},
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-wallet-rewardsAnswer
Pending (unclaimed) Hotspot rewards for one page of a wallet's fleet as decimal token amounts (e.g. "12.345678" IOT), totaled per token and listed per Hotspot where nonzero. Served from a ~15min cache — rewards distribute roughly daily. Sorted by entityKey. Totals cover only this page (aggregateScope: page); use offset/limit and pagination.nextOffset for the rest. Up to 100 Hotspots per page; claim via the /hotspot-claimer page's tools.
View tool JSON
{
"name": "get-wallet-rewards",
"kind": "answer",
"impl": "imperative",
"description": "Pending (unclaimed) Hotspot rewards for one page of a wallet's fleet as decimal token amounts (e.g. \"12.345678\" IOT), totaled per token and listed per Hotspot where nonzero. Served from a ~15min cache — rewards distribute roughly daily. Sorted by entityKey. Totals cover only this page (aggregateScope: page); use offset/limit and pagination.nextOffset for the rest. Up to 100 Hotspots per page; claim via the /hotspot-claimer page's tools.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58). Optional when the dashboard already shows a wallet — defaults to that one."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Start at this offset; use pagination.nextOffset for the next page."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100,
"description": "Maximum Hotspots on this page."
}
},
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-wallet-onboardingAnswer
When a wallet's Hotspots were onboarded, read from chain (block time of the first successful transaction on each Hotspot's IoT/Mobile info account): first and latest date, a per-month count (UTC), and per-Hotspot ISO dates (a Hotspot on both networks shows the earlier one; null = couldn't be determined). Hotspots from before Helium's April 2023 move to Solana show their migration date, not their original deployment. Sorted by entityKey. Dates, first/latest and monthly counts cover only this page (aggregateScope: page); use offset/limit and pagination.nextOffset for the rest. Up to 200 Hotspots per page; dates are cached server-side once resolved, so a first lookup of a large fleet is the slow one.
View tool JSON
{
"name": "get-wallet-onboarding",
"kind": "answer",
"impl": "imperative",
"description": "When a wallet's Hotspots were onboarded, read from chain (block time of the first successful transaction on each Hotspot's IoT/Mobile info account): first and latest date, a per-month count (UTC), and per-Hotspot ISO dates (a Hotspot on both networks shows the earlier one; null = couldn't be determined). Hotspots from before Helium's April 2023 move to Solana show their migration date, not their original deployment. Sorted by entityKey. Dates, first/latest and monthly counts cover only this page (aggregateScope: page); use offset/limit and pagination.nextOffset for the rest. Up to 200 Hotspots per page; dates are cached server-side once resolved, so a first lookup of a large fleet is the slow one.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58). Optional when the dashboard already shows a wallet — defaults to that one."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Start at this offset; use pagination.nextOffset for the next page."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 200,
"description": "Maximum Hotspots on this page."
}
},
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-wallet-iot-statusAnswer
Per-Hotspot IoT connectivity and 30-day delivered LoRaWAN messages for a wallet's IoT Hotspots. Connectivity is a per-UTC-day verdict (active = connected to the Helium Packet Router on the latest reported day), not online-now. Health combines the two: inactiveTraffic (not connected, but had messages in the window — check these first), activeQuiet (connected, no messages in 30 days), inactiveQuiet, activeTraffic. Page membership follows entityKey before health filtering, so pages hold still when the dashboard's scan finishes; rows run most actionable first within a page. To triage, pass health to list matching rows within each page. Pagination always counts all IoT Hotspots, including nonmatches: follow pagination.nextOffset even when hotspots is empty. Use offset/limit to retrieve all pages. Uses the dashboard's finished scan when that wallet is on screen (whole-fleet counts, same as the UI); otherwise looks up at most 200 IoT Hotspots per page. aggregateScope identifies whether counts/health/traffic cover the fleet (dashboard) or only this page (own scan). For one Hotspot's daily messages per OUI (operator), use get-iot-hotspot-traffic.
View tool JSON
{
"name": "get-wallet-iot-status",
"kind": "answer",
"impl": "imperative",
"description": "Per-Hotspot IoT connectivity and 30-day delivered LoRaWAN messages for a wallet's IoT Hotspots. Connectivity is a per-UTC-day verdict (active = connected to the Helium Packet Router on the latest reported day), not online-now. Health combines the two: inactiveTraffic (not connected, but had messages in the window — check these first), activeQuiet (connected, no messages in 30 days), inactiveQuiet, activeTraffic. Page membership follows entityKey before health filtering, so pages hold still when the dashboard's scan finishes; rows run most actionable first within a page. To triage, pass health to list matching rows within each page. Pagination always counts all IoT Hotspots, including nonmatches: follow pagination.nextOffset even when hotspots is empty. Use offset/limit to retrieve all pages. Uses the dashboard's finished scan when that wallet is on screen (whole-fleet counts, same as the UI); otherwise looks up at most 200 IoT Hotspots per page. aggregateScope identifies whether counts/health/traffic cover the fleet (dashboard) or only this page (own scan). For one Hotspot's daily messages per OUI (operator), use get-iot-hotspot-traffic.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58). Optional when the dashboard already shows a wallet — defaults to that one."
},
"health": {
"type": "string",
"enum": [
"inactiveTraffic",
"activeQuiet",
"inactiveQuiet",
"activeTraffic"
],
"description": "List only rows in this health state within each entityKey page. Pagination still counts every IoT Hotspot; continue with nextOffset even when no rows match. counts and health cover the whole fleet with dashboard data, or the scanned page otherwise."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Start at this offset; use pagination.nextOffset for the next page."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 200,
"description": "Maximum Hotspots on this page."
}
},
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-iot-hotspot-trafficAnswer
One IoT Hotspot's delivered LoRaWAN messages per day and per OUI (the routing ID of a LoRaWAN Network Server operator) over the 30-day window, with operator names from Helium's well-known OUI list. One Hotspot per call — triage a wallet with get-wallet-iot-status first. `daily[].byOui` maps OUI id → messages that UTC day; `quietNetworkWide: true` means that OUI delivered nowhere on the network in the last 7 days (an operator-side drop, not this Hotspot's); `recentShare` is the last 7 days' daily average ÷ the 30-day daily average (null when it can't be stated honestly).
View tool JSON
{
"name": "get-iot-hotspot-traffic",
"kind": "answer",
"impl": "imperative",
"description": "One IoT Hotspot's delivered LoRaWAN messages per day and per OUI (the routing ID of a LoRaWAN Network Server operator) over the 30-day window, with operator names from Helium's well-known OUI list. One Hotspot per call — triage a wallet with get-wallet-iot-status first. `daily[].byOui` maps OUI id → messages that UTC day; `quietNetworkWide: true` means that OUI delivered nowhere on the network in the last 7 days (an operator-side drop, not this Hotspot's); `recentShare` is the last 7 days' daily average ÷ the 30-day daily average (null when it can't be stated honestly).",
"inputSchema": {
"type": "object",
"properties": {
"entityKey": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 20,
"maxLength": 500,
"description": "The IoT Hotspot's entity key (its Helium public key, base58) — the entityKey from get-wallet-iot-status or get-wallet-fleet."
}
},
"required": [
"entityKey"
],
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-wallet-mobile-activityAnswer
Recent Mobile network activity for a wallet's Mobile Hotspots: data-transfer HNT per UTC day for the last 7 days published (with that day's HNT price and the rewarded bytes it paid for), users served on the latest usage day, ban status, and for WiFi indoor/outdoor Hotspots the heartbeats and rejected heartbeats in a 60-minute window (location trust, distance from the asserted location, reported positions) and the latest speedtest average in a 24-hour window. A window ends now while its data is fresh, otherwise at its last successful check (windows gives each end); null means unknown, never 0. Issues, most serious first: banned (latest ban record is a ban), then WiFi health signals that don't change data-transfer HNT: noHeartbeat (none in the heartbeat window), lowTrust (latest location trust below 1), lowSpeedtest (latest speedtest multiplier below 1), rejectedHeartbeats (any in the window). counts, rewards and usage cover every Mobile Hotspot (a count is null while its data isn't in). hotspots is paged: membership follows entityKey, so pages hold still between calls, and rows run most actionable first within a page; to triage across the fleet, pass issue (counts say how many have each). Use offset/limit and pagination.nextOffset (default 50, max 200); with issue set, the matching set follows live data and can change between calls. When the wallet is on screen, reads the dashboard's own data with no extra downloads (waiting up to 45 s for its first check), unless that tab is hidden and last checked over 5 minutes ago. Otherwise runs one check itself (up to 60 s, then returns what it has), reading Helium's public Mobile network data files whole: roughly 25 MB for a fleet of data-only Hotspots and 55 MB with WiFi Hotspots when this browser hasn't read them recently, and little once it has, since the files serve every wallet and share the dashboard's cache. Mobile Hotspots with ecc_compact keys (CBRS radios) aren't covered. For IoT Hotspots use get-wallet-iot-status.
View tool JSON
{
"name": "get-wallet-mobile-activity",
"kind": "answer",
"impl": "imperative",
"description": "Recent Mobile network activity for a wallet's Mobile Hotspots: data-transfer HNT per UTC day for the last 7 days published (with that day's HNT price and the rewarded bytes it paid for), users served on the latest usage day, ban status, and for WiFi indoor/outdoor Hotspots the heartbeats and rejected heartbeats in a 60-minute window (location trust, distance from the asserted location, reported positions) and the latest speedtest average in a 24-hour window. A window ends now while its data is fresh, otherwise at its last successful check (windows gives each end); null means unknown, never 0. Issues, most serious first: banned (latest ban record is a ban), then WiFi health signals that don't change data-transfer HNT: noHeartbeat (none in the heartbeat window), lowTrust (latest location trust below 1), lowSpeedtest (latest speedtest multiplier below 1), rejectedHeartbeats (any in the window). counts, rewards and usage cover every Mobile Hotspot (a count is null while its data isn't in). hotspots is paged: membership follows entityKey, so pages hold still between calls, and rows run most actionable first within a page; to triage across the fleet, pass issue (counts say how many have each). Use offset/limit and pagination.nextOffset (default 50, max 200); with issue set, the matching set follows live data and can change between calls. When the wallet is on screen, reads the dashboard's own data with no extra downloads (waiting up to 45 s for its first check), unless that tab is hidden and last checked over 5 minutes ago. Otherwise runs one check itself (up to 60 s, then returns what it has), reading Helium's public Mobile network data files whole: roughly 25 MB for a fleet of data-only Hotspots and 55 MB with WiFi Hotspots when this browser hasn't read them recently, and little once it has, since the files serve every wallet and share the dashboard's cache. Mobile Hotspots with ecc_compact keys (CBRS radios) aren't covered. For IoT Hotspots use get-wallet-iot-status.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58). Optional when the dashboard already shows a wallet — defaults to that one."
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Start at this offset; use pagination.nextOffset for the next page."
},
"issue": {
"type": "string",
"enum": [
"banned",
"noHeartbeat",
"lowTrust",
"lowSpeedtest",
"rejectedHeartbeats"
],
"description": "List only Mobile Hotspots with this issue. counts still cover every Mobile Hotspot."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50,
"description": "Maximum Hotspots on this page; rows run most actionable first within it."
}
},
"additionalProperties": false
},
"page": "/wallet-dashboard"
}get-wallet-transactionsAnswer
Categorized recent transactions for a wallet (rewards claims, transfers, Hotspot ops). Pass `before` (a transaction signature from a previous page) to paginate.
View tool JSON
{
"name": "get-wallet-transactions",
"kind": "answer",
"impl": "imperative",
"description": "Categorized recent transactions for a wallet (rewards claims, transfers, Hotspot ops). Pass `before` (a transaction signature from a previous page) to paginate.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]+$",
"minLength": 32,
"maxLength": 44,
"description": "Solana wallet address (base58). Optional when the dashboard already shows a wallet — defaults to that one."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20,
"description": "Max transactions to return."
},
"before": {
"type": "string",
"minLength": 32,
"maxLength": 120,
"description": "Paginate: only transactions before this signature."
}
},
"additionalProperties": false
},
"page": "/wallet-dashboard"
}page: Oui notifier
list-ouisAnswer
Catalog of every OUI (organization) on the Helium IoT network: OUI number, owner, payer, escrow account, and delegate keys.
View tool JSON
{
"name": "list-ouis",
"kind": "answer",
"impl": "imperative",
"description": "Catalog of every OUI (organization) on the Helium IoT network: OUI number, owner, payer, escrow account, and delegate keys.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/oui-notifier/"
}get-oui-balanceAnswer
Data Credit escrow balance, burn rates (1-day and 30-day), and estimated days remaining for an OUI. Also shows the lookup (with its balance chart) in the page UI.
View tool JSON
{
"name": "get-oui-balance",
"kind": "answer",
"impl": "imperative",
"description": "Data Credit escrow balance, burn rates (1-day and 30-day), and estimated days remaining for an OUI. Also shows the lookup (with its balance chart) in the page UI.",
"inputSchema": {
"type": "object",
"properties": {
"oui": {
"type": "integer",
"minimum": 0,
"description": "The OUI number."
}
},
"required": [
"oui"
],
"additionalProperties": false
},
"page": "/oui-notifier/"
}prefill-alert-subscriptionSensitive Action
Fill in the low-escrow alert form (OUI, email, optional label and webhook URL) for the user to review and submit. Does not subscribe by itself — the user must click Subscribe, and email verification follows. Alerts fire at 14, 7, and 1 days of escrow remaining.
View tool JSON
{
"name": "prefill-alert-subscription",
"kind": "transact",
"impl": "imperative",
"description": "Fill in the low-escrow alert form (OUI, email, optional label and webhook URL) for the user to review and submit. Does not subscribe by itself — the user must click Subscribe, and email verification follows. Alerts fire at 14, 7, and 1 days of escrow remaining.",
"inputSchema": {
"type": "object",
"properties": {
"oui": {
"type": "integer",
"minimum": 0,
"description": "The OUI number."
},
"email": {
"type": "string",
"pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"maxLength": 254,
"description": "Email address to notify."
},
"label": {
"type": "string",
"maxLength": 100,
"description": "Optional label for this subscription."
},
"webhook_url": {
"type": "string",
"pattern": "^https://",
"maxLength": 500,
"description": "Optional HTTPS webhook to call alongside the email."
}
},
"required": [
"oui",
"email"
],
"additionalProperties": false
},
"page": "/oui-notifier/"
}page: Dc mint
get-dc-mint-quoteAnswer
Convert between HNT, Data Credits, and USD at the on-chain oracle price the DC mint actually pays (conservative ema − 2×conf, not the headline spot). Pass exactly one of hnt_amount, dc_amount, or usd_amount; returns all three plus the price used. 1 DC is always $0.00001 (100,000 DC per USD); the HNT side floats.
View tool JSON
{
"name": "get-dc-mint-quote",
"kind": "answer",
"impl": "imperative",
"description": "Convert between HNT, Data Credits, and USD at the on-chain oracle price the DC mint actually pays (conservative ema − 2×conf, not the headline spot). Pass exactly one of hnt_amount, dc_amount, or usd_amount; returns all three plus the price used. 1 DC is always $0.00001 (100,000 DC per USD); the HNT side floats.",
"inputSchema": {
"type": "object",
"properties": {
"hnt_amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Amount of HNT to burn."
},
"dc_amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Amount of Data Credits wanted."
},
"usd_amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "USD value of Data Credits wanted."
}
},
"additionalProperties": false
},
"page": "/dc-mint"
}resolve-ouiAnswer
Resolve a Data Credit delegation target — an OUI number or a payer key — to its escrow account, payer, and current escrow DC balance. Use before delegating DC to an OUI.
View tool JSON
{
"name": "resolve-oui",
"kind": "answer",
"impl": "imperative",
"description": "Resolve a Data Credit delegation target — an OUI number or a payer key — to its escrow account, payer, and current escrow DC balance. Use before delegating DC to an OUI.",
"inputSchema": {
"type": "object",
"properties": {
"target": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "An OUI number (e.g. \"12\") or a payer key (base58)."
}
},
"required": [
"target"
],
"additionalProperties": false
},
"page": "/dc-mint"
}page: Iot onboard
get-iot-onboard-feesAnswer
Current on-chain fees for onboarding a Helium IoT Hotspot, in Data Credits: full (PoC-eligible) vs data-only onboard fees and the location assert fee. Cached ~6h server-side.
View tool JSON
{
"name": "get-iot-onboard-fees",
"kind": "answer",
"impl": "imperative",
"description": "Current on-chain fees for onboarding a Helium IoT Hotspot, in Data Credits: full (PoC-eligible) vs data-only onboard fees and the location assert fee. Cached ~6h server-side.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/iot-onboard"
}page: Mobile onboard
get-mobile-onboard-feesAnswer
Current on-chain fees for onboarding a WiFi network as a Helium Mobile data-only Hotspot, in Data Credits: onboard fee plus location assert fee. Cached ~6h server-side.
View tool JSON
{
"name": "get-mobile-onboard-fees",
"kind": "answer",
"impl": "imperative",
"description": "Current on-chain fees for onboarding a WiFi network as a Helium Mobile data-only Hotspot, in Data Credits: onboard fee plus location assert fee. Cached ~6h server-side.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/mobile-onboard"
}open-mobile-onboard-tabAction
Switch the Mobile WiFi Onboarding page between its tabs: 'onboard' (the wizard), 'manage' (already-onboarded networks), or 'guide' (per-vendor router setup instructions).
View tool JSON
{
"name": "open-mobile-onboard-tab",
"kind": "act",
"impl": "imperative",
"description": "Switch the Mobile WiFi Onboarding page between its tabs: 'onboard' (the wizard), 'manage' (already-onboarded networks), or 'guide' (per-vendor router setup instructions).",
"inputSchema": {
"type": "object",
"properties": {
"tab": {
"type": "string",
"enum": [
"onboard",
"manage",
"guide"
],
"description": "Tab to show."
}
},
"required": [
"tab"
],
"additionalProperties": false
},
"page": "/mobile-onboard"
}