AUVRA:DYNAMICS//DOCS
Developer Documentation
Get started with AUVRA Dynamics API
Overview

AUVRA Dynamics is a synthetic autonomous cognitive defense engine for the Solana network. The public interface is a simple HTTP endpoint that accepts incident context and responds with an incident-grade analytic report in plain text.

Endpoint
Path: /playground/auvra
Method: POST
Content-Type: application/json or text/plain
Node override (optional): ?node=AUVRA-CORE-01
Request payload (JSON)
{
  "prompt": "Describe the incident, threat, or security question..."
}
Request payload (raw text)

You may also POST raw text in the body. If JSON parsing fails, AUVRA treats the body as the prompt string directly.

Response format (text/plain)
AUVRA:DYNAMICS//SOLANA-DEFENSE
synthetic autonomous cognitive defense for a decentralized future

REPORT: AUVRA-ANALYTIC
NODE: AUVRA-CORE-01
MODE: incident-grade-analysis
TIMESTAMP: 2025-11-09T12:34:56Z UTC
------------------------------------------------------------

Context:
...

Threat Model:
...

Recommended Actions:
...

------------------------------------------------------------
END-OF-REPORT
The response is always plain text. Headers and footer are stable to simplify parsing.
Minimal curl example
curl -X POST https://auvradynamics.pro/playground/auvra/ \
  -H "Content-Type: application/json" \
  -d '{"prompt":"Simulate a Solana validator compromise scenario."}'
AUVRA:DYNAMICS//QUICKSTART
client-flow
1. AUVRA endpoint

The AUVRA inference server is exposed as a simple HTTP endpoint. You send a JSON payload with a single prompt field and receive a fully formatted incident-grade report as plain text.

POST /playground/auvra HTTP/1.1
Host: auvradynamics.pro
Content-Type: application/json

{"prompt":"Explain how to monitor validator integrity anomalies on Solana."}

You can also call it directly as: https://auvradynamics.pro/playground/auvra.

2. API behavior
The AUVRA endpoint is currently free to use for experimentation. There is no complex configuration required: you post a threat hypothesis or incident context and receive a structured analytic report. Treat it as a security co-processor for research, threat modeling, and incident response simulations.
3. Consume from your frontend

From the browser, call https://auvradynamics.pro/playground/auvra with a JSON body containing prompt. Use the helper from api.js to parse the response and extract the report body.

import { callAuvraBrowser } from "./api.js";

async function run() {
  const res = await callAuvraBrowser(
    "Propose response steps for a compromised upgrade authority."
  );

  if (!res.ok) {
    console.error("AUVRA error", res.status, res.text);
    return;
  }

  console.log(res.parsed.reportBody);
}
4. Expected usage pattern
  • Send clear incident / threat context as prompt.
  • Treat the result as a report, not a chat message.
  • Pipe parsed.reportBody into your UI, logs, or ticketing system.
  • Keep brand, node, and timestamp for audit trails.
AUVRA:DYNAMICS//api.js
client-sdk
api.js

Drop this file into your project as api.js. It exposes two helpers: callAuvraBrowser and callAuvraNode, plus a parser that extracts the analytic payload from the plain-text response.

const AUVRA_DEFAULT_ENDPOINT = "https://auvradynamics.pro/playground/auvra";

export async function callAuvraBrowser(prompt, options = {}) {
  const endpoint = options.endpoint || AUVRA_DEFAULT_ENDPOINT;
  const node = options.node;
  const body = JSON.stringify({ prompt });
  const url = node ? `${endpoint}?node=${encodeURIComponent(node)}` : endpoint;

  const res = await fetch(url, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body
  });

  const text = await res.text();
  const parsed = parseAuvraTextResponse(text);

  return { ok: res.ok, status: res.status, text, parsed };
}

export async function callAuvraNode(prompt, options = {}) {
  const endpoint = options.endpoint || AUVRA_DEFAULT_ENDPOINT;
  const node = options.node;
  const body = JSON.stringify({ prompt });
  const url = node ? `${endpoint}?node=${encodeURIComponent(node)}` : endpoint;

  const res = await fetch(url, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body
  });

  const text = await res.text();
  const parsed = parseAuvraTextResponse(text);

  return { ok: res.ok, status: res.status, text, parsed };
}

export function parseAuvraTextResponse(text) {
  const result = {
    raw: text,
    meta: {},
    reportBody: text
  };

  if (!text) return result;

  const lines = text.split(/\r?\n/);
  let bodyStartIndex = 0;

  // Simple header parsing: read key-value lines until separator
  for (let i = 0; i < lines.length; i++) {
    const line = lines[i].trim();

    if (line.startsWith("---")) {
      bodyStartIndex = i + 1;
      break;
    }

    const colonIndex = line.indexOf(":");
    if (colonIndex > 0) {
      const key = line.slice(0, colonIndex).trim();
      const value = line.slice(colonIndex + 1).trim();
      if (key && value) {
        result.meta[key] = value;
      }
    }
  }

  // Extract body between separator and END-OF-REPORT (if present)
  const bodyLines = [];
  for (let i = bodyStartIndex; i < lines.length; i++) {
    const line = lines[i];
    if (line.trim().startsWith("END-OF-REPORT")) break;
    bodyLines.push(line);
  }

  if (bodyLines.length > 0) {
    result.reportBody = bodyLines.join("\n").trim();
  }

  return result;
}
Node usage
import { callAuvraNode } from "./api.js";

(async () => {
  const res = await callAuvraNode(
    "Analyze risk of current Solana cryptography against future quantum attacks."
  );

  if (!res.ok) {
    console.error("AUVRA error", res.status, res.text);
    return;
  }

  console.log(res.parsed.meta);
  console.log(res.parsed.reportBody);
})();
Ensure your Node runtime has global fetch (Node 18+) or polyfill it (for example with node-fetch).