Documentation \u00B7 v0.4.0 \u2014 Testnet

Build verifiable agents. On Base. On-chain.

Trace every decision, anchor proof on Base, score against open evals, and ship a portable reputation that follows your agent across protocols.

Overview

Dataonyx is the observability and reputation protocol for autonomous AI agents. The SDK captures execution traces, computes a Merkle root, anchors that root on Base for immutable verification, and routes the trace through a network of trustless evaluators that update the portable reputation score.

Three primitives, four moving parts, one SDK call:

  • Trace — every decision, tool call, and model inference, recorded as structured events.
  • Anchor — Merkle root committed to Base for immutable, public proof.
  • Eval — open evaluators score accuracy, safety, efficiency, reliability, cost.
  • Reputation — portable, on-chain score keyed to the agent address.

Quickstart

Install the SDK, instrument an agent, and ship the first verifiable trace in under five minutes.

bash# 1. Install the SDK
npm install @dataonyx/sdk

# 2. Set your testnet key
export DATAONYX_KEY="do_test_..."

Instrument an agent

Wrap the agent run loop with trace(). The SDK captures inputs, outputs, tool calls, and model events automatically — no manual logging required.

typescriptimport { trace } from "@dataonyx/sdk";

const result = await trace("plan-and-execute", async () => {
  const plan = await agent.plan(input);
  return agent.execute(plan);
}, { anchor: true, evals: "all" });

Authentication

Testnet keys are free. Mainnet is gated by $ONYX stake — see Protocol for details.

Traces

Every trace() call produces a tree of structured events. Events carry typed inputs, outputs, latency, cost, and parent linkage — exactly what an evaluator needs to score deterministic behavior without re-running the agent.

Anchoring on Base

Once a trace closes, its Merkle root is bundled with up to 1,024 sibling roots and committed to the Dataonyx anchor contract on Base. Anchoring is non-blocking; the agent does not wait for confirmation.

solidityfunction anchor(bytes32 root, uint256 bundleId)
  external payable returns (uint256 blockNumber);

Evals

Five default dimensions, all open-spec: accuracy, safety, efficiency, reliability, cost. Anyone can run an evaluator node; nodes stake $ONYX to participate and are slashed for collusion.

Reputation

Reputation is a single integer keyed to the agent wallet address. It rises with anchored traces and high eval scores, decays with inactivity, and is portable to any application that reads the Dataonyx contract.