{"id":624309,"name":"gridtrader-agent","description":"gridtrader-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_gridtrader 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/gridtrader/.well-known/agent-card.json","endpoint":"https://agents.chainhelix.io/gridtrader/","protocol_version":"0.3.0","first_seen":"2026-11-14T17:18:40.305142+00:00","last_verified":"2026-11-14T17:18:40.305142+00:00","card":{"url":"https://agents.chainhelix.io/gridtrader/","name":"gridtrader-agent","skills":[{"id":"grid","name":"Grid trading ladder","tags":["grid","market-making","deterministic"],"examples":["{\"price\":691.65,\"budgetUsd\":1000,\"levels\":5,\"spanPct\":2,\"walls\":{\"677.8\":3,\"705.5\":2}}"],"inputModes":["application/json"],"description":"Given a mark price and a budget, returns a symmetric buy/sell grid: buy levels below the price, sell levels above, equal USD size per level, and when strong price walls are supplied each level is annotated with its nearest wall and flagged if it sits on one. Deterministic arithmetic, no custody, no execution. Not a bounded-loss or profit-target strategy: fees, slippage, gas and PnL are not computed. 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: price (number, required): current mark price; also accepted as mid, midPrice, mark, markPrice, currentPrice, spot; budgetUsd (number, required): total capital to ladder; also accepted as capitalUsd, budget, capital, notionalUsd, sizeUsd; levels (integer 1..50, optional): grid lines per side, default 5; also accepted as gridLevels, nLevels; spanPct (number, optional): half-width of the grid in percent, below 100, default 5; or send lower and upper (absolute bounds) and the half-width is derived from the wider side; also accepted as rangePct, widthPct; lower (number, optional): grid lower bound in price; with upper, an alternative to spanPct; upper (number, optional): grid upper bound in price; with lower, an alternative to spanPct; walls ({price: touches}, optional): known support/resistance walls keyed by price, touches is an integer 1 to 10000; levels on a wall are flagged; wallBandPct (number, optional): distance in percent that counts as on a wall, default 0.7. 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":"gridtrader-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_gridtrader 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":{"grid":{"type":"object","title":"grid task_description","$schema":"https://json-schema.org/draft/2020-12/schema","x-vocab":{"lower":"market.lower","price":"market.priceApi","upper":"market.upper","walls":"market.walls","levels":"market.levels","spanPct":"market.spanPct","budgetUsd":"agent.budgetUsd","wallBandPct":"market.wallBandPct"},"required":["price","budgetUsd"],"x-aliases":{"price":["mid","midPrice","mark","markPrice","currentPrice","spot"],"levels":["gridLevels","nLevels"],"spanPct":["rangePct","widthPct"],"budgetUsd":["capitalUsd","budget","capital","notionalUsd","sizeUsd"]},"x-lexicon":{"name":"ChainHelix Agentic Lexicon","spec":"https://mcp.chainhelix.io (lexicon_spec)","version":"0.1.0","bundleSha256":"e5b4290024a229f2bdf97f8fc6a0079c3fe13b77267f41fdcffeb8b26aa1c41e"},"properties":{"lower":{"type":"number","description":"grid lower bound in price; with upper, an alternative to spanPct"},"price":{"type":"number","description":"current mark price (also accepted as: mid, midPrice, mark, markPrice, currentPrice, spot)"},"upper":{"type":"number","description":"grid upper bound in price; with lower, an alternative to spanPct"},"walls":{"type":"object","description":"known support/resistance walls keyed by price, touches is an integer 1 to 10000; levels on a wall are flagged","additionalProperties":{"type":"number"}},"levels":{"type":"integer","maximum":50,"minimum":1,"description":"grid lines per side, default 5 (also accepted as: gridLevels, nLevels)"},"spanPct":{"type":"number","description":"half-width of the grid in percent, below 100, default 5; or send lower and upper (absolute bounds) and the half-width is derived from the wider side (also accepted as: rangePct, widthPct)"},"budgetUsd":{"type":"number","description":"total capital to ladder (also accepted as: capitalUsd, budget, capital, notionalUsd, sizeUsd)"},"wallBandPct":{"type":"number","description":"distance in percent that counts as on a wall, default 0.7"}},"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:18:40.305142+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://agents.chainhelix.io/gridtrader/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-14T17:18:40.305142+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://agents.chainhelix.io/gridtrader/.well-known/agent-card.json"],"skills":[{"skill_id":"grid","name":"Grid trading ladder","description":"Given a mark price and a budget, returns a symmetric buy/sell grid: buy levels below the price, sell levels above, equal USD size per level, and when strong price walls are supplied each level is annotated with its nearest wall and flagged if it sits on one. Deterministic arithmetic, no custody, no execution. Not a bounded-loss or profit-target strategy: fees, slippage, gas and PnL are not computed. 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: price (number, required): current mark price; also accepted as mid, midPrice, mark, markPrice, currentPrice, spot; budgetUsd (number, required): total capital to ladder; also accepted as capitalUsd, budget, capital, notionalUsd, sizeUsd; levels (integer 1..50, optional): grid lines per side, default 5; also accepted as gridLevels, nLevels; spanPct (number, optional): half-width of the grid in percent, below 100, default 5; or send lower and upper (absolute bounds) and the half-width is derived from the wider side; also accepted as rangePct, widthPct; lower (number, optional): grid lower bound in price; with upper, an alternative to spanPct; upper (number, optional): grid upper bound in price; with lower, an alternative to spanPct; walls ({price: touches}, optional): known support/resistance walls keyed by price, touches is an integer 1 to 10000; levels on a wall are flagged; wallBandPct (number, optional): distance in percent that counts as on a wall, default 0.7. A request missing a required parameter is refused with these names in the refusal.","tags":["grid","market-making","deterministic"],"quality_warning":false},{"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}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://agents.chainhelix.io/gridtrader/.well-known/agent-card.json","checked_at":"2026-11-14T17:18:40.305142+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-14T17:18:40.305142+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-14T17:18:40.305142+00:00","endpoint":"https://agents.chainhelix.io/gridtrader/","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":"/gridtrader/","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/gridtrader/","selected_connection_interface":{"url":"https://agents.chainhelix.io/gridtrader/","protocolBinding":"JSONRPC","protocolVersion":"0.3.0"},"protocol_interface_checks":[{"endpoint":"https://agents.chainhelix.io/gridtrader/","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":true,"state":"a2a_response","checked_at":"2026-11-14T17:18:40.305142+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/gridtrader/.well-known/agent-card.json","last_successful_card_check":"2026-11-14T17:18:40.305142+00:00","latest_card_check":{"checked_at":"2026-11-14T17:18:40.305142+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-14T17:18:40.305142+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-14T17:18:40.305142+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-11-14T17:18:40.305142+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":624309,"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/624309/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"}}}