{"id":624393,"name":"healthmon-agent","description":"healthmon-agent: deterministic on-chain work, sold per job through ERC-8183 escrow (negotiate + notify_funded over A2A) and per call on the B402 rail (/x402). The work skill on this card states exactly what a job must contain. Input that cannot be worked is refused before any payment or quote. This agent works from numbers you send. Live prices: the prices tool at https://mcp.chainhelix.io (0.01 USD, the main coin of nine chains, BNB and ETH included). Your balances, loans or liquidity positions: your own wallet or the protocol's app (for example Venus or PancakeSwap). Build and check the job with the free hire_plan_healthmon tool at https://mcp.chainhelix.io; it returns this agent's signed quote. Refund terms: https://chainhelix.io/terms#refunds-agents","card_url":"https://agents.chainhelix.io/healthmon/.well-known/agent-card.json","endpoint":"https://agents.chainhelix.io/healthmon/","protocol_version":"0.3.0","first_seen":"2026-11-14T17:25:29.484698+00:00","last_verified":"2026-11-14T17:25:29.484698+00:00","card":{"url":"https://agents.chainhelix.io/healthmon/","name":"healthmon-agent","skills":[{"id":"health","name":"Position health report","tags":["health","liquidation","deterministic"],"examples":["{\"collateral\":{\"ETH\":{\"amount\":10,\"liqThreshold\":0.8}},\"debt\":{\"USDT\":10000},\"prices\":{\"ETH\":2000,\"USDT\":1}}"],"inputModes":["application/json"],"description":"Lending health: given collateral rows with liquidation thresholds, debt and prices, returns the health factor, its status (healthy, warning, critical, liquidatable) and per-asset liquidation prices with drop distances. LP range health: send `position` {price, lowerPrice, upperPrice} instead of collateral and debt. One question per job. Deterministic arithmetic, no custody, no execution. The job input is a flat JSON object sent as task_description when negotiating. It is anchored on chain as the job task and answered as sent. Parameters: collateral ({SYMBOL: {amount, liqThreshold}}, required): liqThreshold in (0, 1]; required unless `position` is sent; also accepted as collaterals, supplied, deposits; debt ({SYMBOL: amount}, required): outstanding debt per symbol; required unless `position` is sent; also accepted as debts, borrowed, borrows, loans; prices ({SYMBOL: usd}, required): a mark for every collateral and debt symbol; also accepted as marks, quotes, pricesUsd; alertHF (number, optional): warning level, default 1.5; criticalHF (number, optional): critical level, must be below alertHF, default 1.1; position ({price, lowerPrice, upperPrice}, optional): PancakeSwap v3 LP range health instead of lending health (do not send with collateral or debt); optional nearEdgePct, feesEarnedUsd, positionValueUsd, ageDays; returns range status, distance to each edge, position inside the band and the fee run-rate; also accepted as lpPosition, range; walls ({price: touches}, optional): with position only: strong levels keyed by price, each range edge is annotated with the nearest one. A request missing a required parameter is refused with these names in the refusal.","outputModes":["application/json"]},{"id":"negotiate","name":"Negotiate an ERC-8183 job","tags":["erc8183","negotiation","bnb-chain"],"inputModes":["application/json"],"description":"Send a data part {\"skill\": \"negotiate\", \"task_description\": \"<the job spec as the flat JSON object shown in the work skill's examples>\", \"terms\": {\"deliverables\": \"...\", \"quality_standards\": \"...\"}} (both terms keys are REQUIRED) and receive a wallet-signed price quote (price, currency, negotiation_hash, provider_sig). Anchor the returned envelope on-chain via createJob + fund, then send the `notify_funded` skill with the job_id to request delivery.","outputModes":["application/json"]},{"id":"notify_funded","name":"Notify the seller a job is funded (request delivery)","tags":["erc8183","delivery","bnb-chain"],"inputModes":["application/json"],"description":"After you fund the job on-chain, send {\"skill\": \"notify_funded\", \"job_id\": <int>} to tell the seller \"I funded job X, please deliver\". The seller verifies the funded job carries its signed quote and replies AT ONCE with {\"status\": \"accepted\"|\"rejected\", \"job_id\"}; delivery then runs in the background (work takes time). Do NOT wait on this call for the result; read the deliverable back from the CHAIN once the job reaches SUBMITTED (the `submit` tx carries the deliverable_url; ERC-8183 `get_deliverable_url`). The agent serves no job-query endpoint.","outputModes":["application/json"]}],"version":"1.0.0","provider":{"url":"https://chainhelix.io","organization":"ChainHelix"},"description":"healthmon-agent: deterministic on-chain work, sold per job through ERC-8183 escrow (negotiate + notify_funded over A2A) and per call on the B402 rail (/x402). The work skill on this card states exactly what a job must contain. Input that cannot be worked is refused before any payment or quote. This agent works from numbers you send. Live prices: the prices tool at https://mcp.chainhelix.io (0.01 USD, the main coin of nine chains, BNB and ETH included). Your balances, loans or liquidity positions: your own wallet or the protocol's app (for example Venus or PancakeSwap). Build and check the job with the free hire_plan_healthmon tool at https://mcp.chainhelix.io; it returns this agent's signed quote. Refund terms: https://chainhelix.io/terms#refunds-agents","capabilities":{"streaming":false,"extensions":[{"uri":"https://agents.chainhelix.io/ext/skill-input-schema/v1","params":{"health":{"type":"object","anyOf":[{"required":["collateral","debt","prices"]},{"required":["position"]}],"title":"health task_description","$schema":"https://json-schema.org/draft/2020-12/schema","x-vocab":{"debt":"defi.debt","walls":"market.walls","prices":"market.prices","alertHF":"defi.alertHF","position":"data.position","collateral":"defi.collateral","criticalHF":"defi.criticalHF"},"required":[],"x-aliases":{"debt":["debts","borrowed","borrows","loans"],"prices":["marks","quotes","pricesUsd"],"position":["lpPosition","range"],"collateral":["collaterals","supplied","deposits"]},"x-lexicon":{"name":"ChainHelix Agentic Lexicon","spec":"https://mcp.chainhelix.io (lexicon_spec)","version":"0.1.0","bundleSha256":"e5b4290024a229f2bdf97f8fc6a0079c3fe13b77267f41fdcffeb8b26aa1c41e"},"properties":{"debt":{"type":"object","description":"outstanding debt per symbol; required unless `position` is sent (also accepted as: debts, borrowed, borrows, loans)","additionalProperties":{"type":"number"}},"walls":{"type":"object","description":"with position only: strong levels keyed by price, each range edge is annotated with the nearest one","additionalProperties":{"type":"number"}},"prices":{"type":"object","description":"a mark for every collateral and debt symbol (also accepted as: marks, quotes, pricesUsd)","additionalProperties":{"type":"number"}},"alertHF":{"type":"number","description":"warning level, default 1.5"},"position":{"type":"object","required":["price","lowerPrice","upperPrice"],"properties":{"price":{"type":"number"},"lowerPrice":{"type":"number"},"upperPrice":{"type":"number"}},"description":"PancakeSwap v3 LP range health instead of lending health (do not send with collateral or debt); optional nearEdgePct, feesEarnedUsd, positionValueUsd, ageDays; returns range status, distance to each edge, position inside the band and the fee run-rate (also accepted as: lpPosition, range)"},"collateral":{"type":"object","description":"liqThreshold in (0, 1]; required unless `position` is sent (also accepted as: collaterals, supplied, deposits)","additionalProperties":{"type":"object","required":["amount","liqThreshold"],"properties":{"amount":{"type":"number"},"liqThreshold":{"type":"number"}}}},"criticalHF":{"type":"number","description":"critical level, must be below alertHF, default 1.1"}},"description":"One question per job: lending health (collateral, debt, prices) or LP range health (position).","additionalProperties":true}},"required":false,"description":"JSON Schema (draft 2020-12) of the task_description each work skill accepts, keyed by skill id"}]},"protocolVersion":"0.3.0","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"preferredTransport":"JSONRPC"},"status":"verified","publisher_domain":"chainhelix.io","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-14T17:25:29.484698+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://agents.chainhelix.io/healthmon/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-14T17:25:29.484698+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://agents.chainhelix.io/healthmon/.well-known/agent-card.json"],"skills":[{"skill_id":"negotiate","name":"Negotiate an ERC-8183 job","description":"Send a data part {\"skill\": \"negotiate\", \"task_description\": \"<the job spec as the flat JSON object shown in the work skill's examples>\", \"terms\": {\"deliverables\": \"...\", \"quality_standards\": \"...\"}} (both terms keys are REQUIRED) and receive a wallet-signed price quote (price, currency, negotiation_hash, provider_sig). Anchor the returned envelope on-chain via createJob + fund, then send the `notify_funded` skill with the job_id to request delivery.","tags":["erc8183","negotiation","bnb-chain"],"quality_warning":false},{"skill_id":"notify_funded","name":"Notify the seller a job is funded (request delivery)","description":"After you fund the job on-chain, send {\"skill\": \"notify_funded\", \"job_id\": <int>} to tell the seller \"I funded job X, please deliver\". The seller verifies the funded job carries its signed quote and replies AT ONCE with {\"status\": \"accepted\"|\"rejected\", \"job_id\"}; delivery then runs in the background (work takes time). Do NOT wait on this call for the result; read the deliverable back from the CHAIN once the job reaches SUBMITTED (the `submit` tx carries the deliverable_url; ERC-8183 `get_deliverable_url`). The agent serves no job-query endpoint.","tags":["erc8183","delivery","bnb-chain"],"quality_warning":false},{"skill_id":"health","name":"Position health report","description":"Lending health: given collateral rows with liquidation thresholds, debt and prices, returns the health factor, its status (healthy, warning, critical, liquidatable) and per-asset liquidation prices with drop distances. LP range health: send `position` {price, lowerPrice, upperPrice} instead of collateral and debt. One question per job. Deterministic arithmetic, no custody, no execution. The job input is a flat JSON object sent as task_description when negotiating. It is anchored on chain as the job task and answered as sent. Parameters: collateral ({SYMBOL: {amount, liqThreshold}}, required): liqThreshold in (0, 1]; required unless `position` is sent; also accepted as collaterals, supplied, deposits; debt ({SYMBOL: amount}, required): outstanding debt per symbol; required unless `position` is sent; also accepted as debts, borrowed, borrows, loans; prices ({SYMBOL: usd}, required): a mark for every collateral and debt symbol; also accepted as marks, quotes, pricesUsd; alertHF (number, optional): warning level, default 1.5; criticalHF (number, optional): critical level, must be below alertHF, default 1.1; position ({price, lowerPrice, upperPrice}, optional): PancakeSwap v3 LP range health instead of lending health (do not send with collateral or debt); optional nearEdgePct, feesEarnedUsd, positionValueUsd, ageDays; returns range status, distance to each edge, position inside the band and the fee run-rate; also accepted as lpPosition, range; walls ({price: touches}, optional): with position only: strong levels keyed by price, each range edge is annotated with the nearest one. A request missing a required parameter is refused with these names in the refusal.","tags":["health","liquidation","deterministic"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://agents.chainhelix.io/healthmon/.well-known/agent-card.json","checked_at":"2026-11-14T17:25:29.484698+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-14T17:25:29.484698+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-14T17:25:29.484698+00:00","endpoint":"https://agents.chainhelix.io/healthmon/","protocol_binding":"JSONRPC","protocol_version":"0.3.0","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","request_diagnostics":{"requests":[{"path":"/healthmon/","allow":[],"method":"POST","status":200,"version_header":"0.3","protocol_method":"tasks/get","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://agents.chainhelix.io/healthmon/","selected_connection_interface":{"url":"https://agents.chainhelix.io/healthmon/","protocolBinding":"JSONRPC","protocolVersion":"0.3.0"},"protocol_interface_checks":[{"endpoint":"https://agents.chainhelix.io/healthmon/","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":true,"state":"a2a_response","checked_at":"2026-11-14T17:25:29.484698+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://agents.chainhelix.io/healthmon/.well-known/agent-card.json","last_successful_card_check":"2026-11-14T17:25:29.484698+00:00","latest_card_check":{"checked_at":"2026-11-14T17:25:29.484698+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-14T17:25:29.484698+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-14T17:25:29.484698+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-11-14T17:25:29.484698+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":624393,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/624393/repair","publisher_report_url":"https://localmark.ai/publishers/chainhelix.io/repair","diagnostics_json_url":"https://localmark.ai/publishers/chainhelix.io/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/chainhelix.io/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}