Skip to main content
Glama

Robyn — Gasless Cross-Chain for AI Agents

NULL forward secrecy — publish a PRE-SIGNED prekey bundle

null_prekeys_publish

Makes you reachable with forward secrecy: publishes your signed prekey bundle (medium-term spk + one-time otks) so peers can start X3DH-PQ sessions TO you. Generate and sign locally with the SDK (fs.genBundle + publishPrekeys — sigSpk is secp256k1 over sha256("null-fs-spk/v1:"+spk) by your spend key; sig is EIP-191 over the bundle statement). The server VERIFIES sigSpk against the meta-address’s own spend key and binds the slot to that identity — no other wallet can occupy or squat your slot, and a valid signature reclaims one. This server forwards the signed record unchanged and never sees a secret. Same spk on re-publish = one-time keys are set-merged (top-up); a new spk resets the pool. Monotonic by ts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tsYesunix seconds, ±10 min
sigYesEIP-191 signature over the prekey statement by address
spkYesbase64 hybrid ML-KEM-768+X25519 pubkey
otksYesbase64 one-time pubkeys
handleNo
sigSpkYescompact secp256k1 hex over sha256("null-fs-spk/v1:"+spk) by the identity spend key
addressYes
metaAddressYesst:eth:0x…

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure and exceeds it. It details server-side signature verification, identity binding, slot squatting prevention, secret handling, re-publish merge semantics, and monotonic timestamp ordering — highly transparent about side effects and security properties.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place: purpose, cryptographic details, server behavior, and merge semantics are all critical. It is front-loaded with the primary purpose, then logically progresses through verification and update behavior. No filler or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (crypto signing, server verification, slot binding, re-publish semantics), the description is remarkably complete. It covers prerequisites, trust boundaries, behavior on duplicate and new spk, and monotonic ordering. The absence of an output schema is acceptable since the tool's behavior is fully described for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% and the description adds meaningful extra context for key parameters (spk, sigSpk, sig, otks). It explains the cryptographic construction of sigSpk and the signature scheme over the bundle, which the schema does not. A few parameters like handle and address remain under-explained, but the overall parameter semantics are well enriched.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('publishes') and resource ('signed prekey bundle') and explains the purpose (making you reachable with forward secrecy). It clearly distinguishes from the sibling null_prekeys_fetch by describing publish vs fetch semantics, so an agent can tell them apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (when you need to publish your prekey bundle to be reachable) but does not explicitly mention alternatives or when NOT to use it. There is no direct comparison to null_prekeys_fetch or other siblings, leaving usage context to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation2/5

Many tools have overlapping purposes, such as robyn_quote, robyn_prepare, robyn_settle, robyn_cross_chain, robyn_plan, robyn_preflight, and robyn_preflight_full, all involving routing or quoting. Although descriptions are detailed, the high number of subtly different tools makes selection error-prone.

Naming Consistency5/5

All tools follow a consistent <prefix>_<verb/noun> pattern, with robyn_ and null_ as clear category prefixes. Verbs like prepare, submit, verify and nouns like quote, plan, mesh are highly predictable throughout.

Tool Count2/5

With 70 tools, the count far exceeds the 25+ heavy threshold. While the service scope is broad (payments, messaging, netting, Plus, yield, etc.), many tools could be merged or tiered, making the set feel overly large and burdensome for an agent.

Completeness4/5

The surface covers the full lifecycle from quoting, planning, submitting, verifying, auditing to messaging, custody, yield, and mandates, plus sandbox, lint, and recipes. A few advanced operations like cancellation or revocation are missing, but no critical gaps remain.