Install
openclaw skills install @veyanet/veyaOperate VEYA, the post-quantum execution and proof layer for AI agents on Robinhood Chain, through the hosted VEYA MCP server (51 veya_* tools). Prove and anchor content as BLAKE3 commitments on Veya.sol, verify transactions and commitments, create ML-DSA-44 identities and signatures, manage environments, agents, tool policy and Kyber-768 secure routing, run 2-of-3 consensus and AES-256-GCM sealed execution, store agent memory, browse the public registry, and send on-chain writes from your own wallet. Use when the user mentions VEYA, veyanet, Veya.sol, Robinhood Chain, on-chain proof or attestation of agent work, BLAKE3 commitments, ML-DSA, Kyber, post-quantum signatures, sealed or protected execution, agent consensus, or any veya_ tool.
openclaw skills install @veyanet/veyaVEYA makes agent work verifiable. An agent runs inside a scoped environment with an explicit tool allowlist. Its work is checked by 2-of-3 consensus or run in AES-256-GCM sealed execution, hashed with BLAKE3-256, signed with ML-DSA-44, and anchored on the Veya.sol protocol contract on Robinhood Chain. Anyone can verify the record from a tx hash.
environment → agent (+ allowedTools) → consensus / sealed execution
→ BLAKE3 digest + ML-DSA signature → Veya.sol (Robinhood Chain) → verify
| Network | Veya.sol | Explorer |
|---|---|---|
| Mainnet (default) | 0x87dC582eEA544A434a5C1e30Ca3d12c1e548a674 | robinhoodchain.blockscout.com |
| Testnet (optional) | 0x1a1Dc3c55550FCE9F70ef6cDEeF967c0b72a5d84 | explorer.testnet.chain.robinhood.com |
veya_* tools are available, tell the user to add the MCP server
https://mcp.veyanet.tech/mcp (configs in references/setup.md) and stop.veya_describe. Read settlement.network, settlement.contract, settlement.explorer.
Use that network and explorer in every answer.veya_prove without anchor, all verify and on-chain reads, veya_pq_*, public registry.veya_dev_… / veya_live_…) as the apiKey argument. Get one at https://app.veyanet.tech (connect wallet → System → API Keys). Needed for environments, agents, policy, routing, memory, consensus, sealed execution, veya_seal_decision.payerPrivateKey). Gas is ETH on the selected network.veya_seal_decision allow 30 calls/min per key. host-sent seals: 20 per key and 100 per host per UTC day. /mcp: 120 requests/min per IP.Details: references/auth-and-limits.md.
| User wants to… | Do this | Guide |
|---|---|---|
| Check status / network | veya_describe → veya_ping_chain → veya_api_health | service-and-chain |
| Hash or prove text/JSON | veya_prove { text | json } | proofs |
| Anchor a proof on-chain | veya_prove { text, anchor: true, environmentId, apiKey, payerPrivateKey } or veya_anchor_proof | proofs |
| Check a tx or commitment | veya_verify_transaction → veya_verify_commitment_onchain | verification |
| Check a digest | veya_commitment_exists { digestHex } | verification |
| Seal a decision | veya_seal_decision { evidenceId, decision, apiKey, environmentId } (mainnet: a registered environment) | proofs |
| PQ keys, sign, verify | veya_pq_keygen → veya_pq_sign → veya_pq_verify | identity |
| Create a workspace and agent | veya_create_environment → veya_deploy_agent | workspaces |
| Allow/deny tools, route messages | veya_set_tool_policy, veya_route_message, veya_route_secure_message | policy-and-routing |
| Quorum or sealed run | veya_run_consensus, veya_sealed_execute, veya_run_protected_execution | execution |
| Agent memory | veya_store_memory, veya_read_memory, veya_invalidate_memory | memory |
| Browse public agents/certificates | veya_public_* | registry |
| Write commitments / attestations | veya_store_commitment, veya_attest_execution, veya_register_environment | onchain-writes |
| Exact args of any tool | – | tools |
{ "tool": "veya_prove", "arguments": { "text": "hello" } }
Pass exactly one of text, json (a JSON string), txHash. Expect ok: true, mode: "digest",
digestHex, anchored: false. hello → ea8f163db38682925e4491c5e58d4bb3506ef8c14eb78a86e908c5624a67200f.
To anchor: add anchor: true, environmentId (an environment already on Veya.sol), apiKey,
payerPrivateKey. Expect mode: "anchored", txHash, explorerUrl.
Example Mainnet receipt (execution attestation): 0x91550fdd7a60616e3157364d3624d423403c4add2590c36d3ba290fa07cb95cc.
veya_verify_transaction { txHash } → Veya.sol events and digest.veya_verify_commitment_onchain { txHash } → for commitment txs, confirms commitments(digest) is still true (commitmentChecks is empty for attestations and registrations).{explorer}/tx/{txHash}. If to is not Veya.sol, say it is not a VEYA proof.veya_account { apiKey } → confirm the wallet.veya_create_environment { apiKey, name, type? } → environmentId (type: research default, governance, treasury, contributor, protocol, desci).veya_deploy_agent { apiKey, environmentId, permissionConfig: { allowedTools: [...] } } → agentId. List every tool the agent needs.veya_set_tool_policy { apiKey, environmentId, agentId, tool, allowed } to adjust.veya_register_environment { apiKey, payerPrivateKey, environmentId } puts it on-chain.veya_api_health → validators reachable.veya_run_consensus { apiKey, taskId, payload } → require consensus_reached: true; take agreed_blake3_hash.veya_pq_sign { message: <hash>, privateKeyHex } → signatureHex.veya_attest_execution { apiKey, payerPrivateKey, environmentUuidHex, blake3HashHex, mldsaSigHex } → txHash, from.veya_verify_transaction { txHash }.veya_writes_status, and get the user's confirmation.0x optional.veya_run_consensus (veya_client_run_consensus is a deprecated alias).consensus_reached is false.warning, the chain write succeeded; do not resend.txHash, the explorer link and from.| Message | Action |
|---|---|
apiKey required / Create a product API key… | Ask for a veya_dev_/veya_live_ key from https://app.veyanet.tech (connect wallet → System → API Keys) |
Your wallet has no ETH on Robinhood Chain. Add funds and try again. | User funds the wallet bound to the key |
payerPrivateKey does not match the wallet on this API key… | Use the wallet shown by veya_account |
API key limit: 30 requests per minute | Wait one minute, retry once |
Daily seal limit: … | Pass the user's wallet or wait until 00:00 UTC |
SEAL_ENVIRONMENT_REQUIRED | On mainnet pass environmentId of a registered environment (veya_create_environment → veya_register_environment) |
CONFLICT on veya_create_environment | Pick a product-style name without test/demo/tmp/sandbox |
NOT_VEYA_TX | veya_verify_proof_api takes commitment/anchor txs; use veya_verify_transaction for registrations |
consensus_reached: false / SEALED_UNREACHABLE | Check veya_api_health; nothing was written |
Pass exactly one of text, json, or txHash. | Fix the veya_prove input |
Full list: references/troubleshooting.md.
For custom pipelines or local signing, use @veyanet/sdk (same capabilities as code):
references/sdk.md.