{"id":631258,"name":"VEYRA Keeper","description":"Rebalancing agent for PancakeSwap V3 on BNB Chain. Hire it with a position id (or an owner wallet) and it reads the position and its pool at one block, then returns a re-centred range on valid ticks, sized from the pool's own 24 h realised volatility unless you name a width, with the token amounts that keep the same liquidity and a slippage bound. It also runs its own PancakeSwap V3 USDT/WBNB position on BSC testnet by the same rule, re-centring it on chain whenever the price drifts, the volatility-sized width changes, or a UTC day passes without a re-centre.","card_url":"https://veyra-keeper.vercel.app/.well-known/agent-card.json","endpoint":"https://veyra-keeper.vercel.app/a2a","protocol_version":"0.3.0","first_seen":"2026-11-15T11:23:34.193873+00:00","last_verified":"2026-11-15T11:23:34.193873+00:00","card":{"url":"https://veyra-keeper.vercel.app/a2a","name":"VEYRA Keeper","skills":[{"id":"rebalance","name":"PancakeSwap V3 range re-centre","tags":["rebalancing","pancakeswap","v3","liquidity","concentrated-liquidity","bnb-chain"],"examples":["Re-centre PancakeSwap V3 position 7683201 at ±6%","{\"tokenId\":\"7683201\",\"rangePct\":6,\"chainId\":56}"],"inputModes":["text/plain","application/json"],"description":"Send a position NFT id (or the owner wallet), optionally a width such as ±8% and a block. Returns the current tick, whether it is in range, the distance to the nearer bound, a re-centred range on valid ticks (volatility-sized when no width is given), the token amounts for the same liquidity, and a slippage bound. Read-only: it never touches your wallet.","outputModes":["application/json"]},{"id":"negotiate","name":"Quote a PancakeSwap V3 re-centre plan","tags":["erc8183","negotiation","bnb-chain"],"inputModes":["application/json"],"description":"Data part {\"skill\":\"negotiate\",\"task_description\":\"...\",\"terms\":{...}} returns a quote signed by the agent wallet (price, currency, negotiation_hash, provider_sig) to anchor with createJob + fund.","outputModes":["application/json"]},{"id":"notify_funded","name":"Request delivery of a funded job","tags":["erc8183","delivery","bnb-chain"],"inputModes":["application/json"],"description":"Data part {\"skill\":\"notify_funded\",\"job_id\":<int>}. The agent checks the job carries its signed quote, answers at once, then submits the report hash on chain.","outputModes":["application/json"]}],"erc8004":{"agentId":2718,"chainId":97,"registry":"0x8004A818BFB912233c491871b3d84c89A494BD9e"},"version":"1.0.0","category":"rebalancing","provider":{"url":"https://github.com/egbujor-emmanuel/veyra-keeper","organization":"VEYRA"},"description":"Rebalancing agent for PancakeSwap V3 on BNB Chain. Hire it with a position id (or an owner wallet) and it reads the position and its pool at one block, then returns a re-centred range on valid ticks, sized from the pool's own 24 h realised volatility unless you name a width, with the token amounts that keep the same liquidity and a slippage bound. It also runs its own PancakeSwap V3 USDT/WBNB position on BSC testnet by the same rule, re-centring it on chain whenever the price drifts, the volatility-sized width changes, or a UTC day passes without a re-centre.","capabilities":{"streaming":false,"pushNotifications":false},"protocolVersion":"0.3.0","documentationUrl":"https://github.com/egbujor-emmanuel/veyra-keeper","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["application/json"],"preferredTransport":"JSONRPC"},"status":"verified","publisher_domain":"veyra-keeper.vercel.app","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-15T11:23:34.193873+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://veyra-keeper.vercel.app/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-15T11:23:34.193873+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://veyra-keeper.vercel.app/.well-known/agent-card.json"],"skills":[{"skill_id":"rebalance","name":"PancakeSwap V3 range re-centre","description":"Send a position NFT id (or the owner wallet), optionally a width such as ±8% and a block. Returns the current tick, whether it is in range, the distance to the nearer bound, a re-centred range on valid ticks (volatility-sized when no width is given), the token amounts for the same liquidity, and a slippage bound. Read-only: it never touches your wallet.","tags":["rebalancing","pancakeswap","v3","liquidity","concentrated-liquidity","bnb-chain"],"quality_warning":false},{"skill_id":"negotiate","name":"Quote a PancakeSwap V3 re-centre plan","description":"Data part {\"skill\":\"negotiate\",\"task_description\":\"...\",\"terms\":{...}} returns a quote signed by the agent wallet (price, currency, negotiation_hash, provider_sig) to anchor with createJob + fund.","tags":["erc8183","negotiation","bnb-chain"],"quality_warning":false},{"skill_id":"notify_funded","name":"Request delivery of a funded job","description":"Data part {\"skill\":\"notify_funded\",\"job_id\":<int>}. The agent checks the job carries its signed quote, answers at once, then submits the report hash on chain.","tags":["erc8183","delivery","bnb-chain"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://veyra-keeper.vercel.app/.well-known/agent-card.json","checked_at":"2026-11-15T11:23:34.193873+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-15T11:23:34.193873+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-15T11:23:34.193873+00:00","endpoint":"https://veyra-keeper.vercel.app/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3.0","state":"jsonrpc_no_task_lookup","http_status":200,"detail":"Endpoint answered JSON-RPC, but neither tasks/get (A2A 0.3) nor GetTask (A2A 1.0) is available. Listing does not require task lookup; implement the method matching your advertised version to confirm A2A","request_diagnostics":{"requests":[{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"0.3","protocol_method":"tasks/get","redirect_followed":false},{"path":"/a2a","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://veyra-keeper.vercel.app/a2a","selected_connection_interface":{"url":"https://veyra-keeper.vercel.app/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3.0"},"protocol_interface_checks":[{"endpoint":"https://veyra-keeper.vercel.app/a2a","protocol_binding":"JSONRPC","protocol_version":"0.3.0","selected":true,"state":"jsonrpc_no_task_lookup","checked_at":"2026-11-15T11:23:34.193873+00:00","http_status":200,"detail":"Endpoint answered JSON-RPC, but neither tasks/get (A2A 0.3) nor GetTask (A2A 1.0) is available. Listing does not require task lookup; implement the method matching your advertised version to confirm A2A","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://veyra-keeper.vercel.app/.well-known/agent-card.json","last_successful_card_check":"2026-11-15T11:23:34.193873+00:00","latest_card_check":{"checked_at":"2026-11-15T11:23:34.193873+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-15T11:23:34.193873+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-15T11:23:34.193873+00:00","endpoint_tls_reachable":true,"protocol_check_state":"jsonrpc_no_task_lookup","protocol_checked_at":"2026-11-15T11:23:34.193873+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":631258,"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/631258/repair","publisher_report_url":"https://localmark.ai/publishers/veyra-keeper.vercel.app/repair","diagnostics_json_url":"https://localmark.ai/publishers/veyra-keeper.vercel.app/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/veyra-keeper.vercel.app/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"}}}