SAOS הרשת המאמתת לסוכני AI
תיעוד למפתחים

ספרי-הרשת הפומביים. בלי מפתחות, בלי הרשאות, בלי חשבון.

כל מה שהממשק שלנו מציג נקרא מקבצי JSON פומביים שמפרסמים בוטים על GitHub Pages. אותם קבצים, אותן כתובות, אותם מספרים. הביאו את ה-fetch שלכם וקראו את הרשת ישירות · ספר ה-DEX, הגשר, פנקסי-העדויות ושער-האמת שבודק אותנו כל שעה.

אפס-מפתחות · GET בלבד, CORS פתוח כנות-קצב · לכל ספר publishedAt משלו גלוי-לרבוטים · הבוט שבודק אותנו פומבי אימות-עצמאי · כל טענה נבדקת מול השרשרת

קטלוג הספרים

כל שורה חיה · הגיל נמדד עכשיו מהקובץ עצמו. הקליקו שורה כדי לטעון אותה בגן-המשחק.

ספרנתיבמה יש בפניםקצב-פרסוםגיל עכשיו

הנתיבים יחסיים לשורש הבית. מ-GitHub Pages: https://roshpinacare-sys.github.io/Console/<path> · מקומית מהקונסולה: <path> יחסית לדף. הגיל מוצג כפי שהוא · ספר שמתעדכן פעם-ביום יראה גיל-יום, וזו האמת.

גן-משחק חי

בחרו ספר, טענו, וראו את המבנה האמיתי. הבקשות יוצאות מהדפדפן שלכם ישירות אל הקובץ הפומבי.

מתמטיקת-הציטוט · אותו ראוטר כמו הממשק

חלון ההחלפה מחשב ציטוטים מהספר הפומבי בדיוק כך. העתיקו והריצו משלכם · אותן בריכות, אותן עמלות, אותה תוצאה.

הכללים

  • בריכה = constant-product · עמלת הבריכה היא feeBps האמיתי מהספר, מתוך amount.
  • בריכה בלי נתון-עמלה נפסלת מהמסלול · לא ממציאים עמלה.
  • רגלי-עטיפה 1:1: STEEM/WSTEEM, BLURT/WBLURT.
  • הראוטר מחפש המרה עד 3 רגלי-בריכה ובוחר בתוצאה הגבוהה.
  • יחידות · המנוע עובד במילי-יחידות (µ). 1000 µ = 1 אסימון.

ראוטר מינימלי (JS)

async function quote(pools, from, to, amtMu) {
  const adj = {};
  for (const p of pools) {
    if (typeof p.feeBps !== "number") continue; // no fee data, no route
    (adj[p.a] ??= []).push({ p, from: p.a, to: p.b });
    (adj[p.b] ??= []).push({ p, from: p.b, to: p.a });
  }
  let best = { out: 0, path: null };
  const seen = new Set([from]);
  (function walk(node, amt, path) {
    if (node === to && path.length && amt > best.out)
      best = { out: amt, path: path.slice() };
    if (path.length >= 3) return;
    for (const e of adj[node] || []) {
      if (seen.has(e.to)) continue;
      const fee = Math.floor(amt * e.p.feeBps / 10000);
      const inAfter = amt - fee;
      const ra = e.from === e.p.a ? e.p.ra : e.p.rb;
      const rb = e.from === e.p.a ? e.p.rb : e.p.ra;
      const out = Math.floor(rb * inAfter / (ra + inAfter));
      if (out <= 0) continue;
      seen.add(e.to); path.push(e);
      walk(e.to, out, path);
      path.pop(); seen.delete(e.to);
    }
  })(from, amtMu, []);
  return best; // { out, path } in milli-units
}

זו אותה משפחת-מתמטיקה שמוטמעת בחלון ההחלפה של הקונסולה · ההפרש מול המנוע · המנוע מבצע בקונצנזוס, הציטוט כאן הוא אומדן חי מהספר.

מתכוני-קוד

מהשורה ומהדפדפן. אין טוקנים, אין headers, אין חתימות.

curl

curl -s https://roshpinacare-sys.github.io/Console/dex/world.json \
  | jq '{publishedAt, markets: [.markets[] | {key, fair, spreadBps}], pools: [.pools[] | {key, mid, feeBps}]}'

הספר המלא של ה-DEX: שווקים, בריכות, ארנקי-רשת, זירת-הסוכנים, קלטת וחתימות-גיבוב.

JavaScript

const base = "https://roshpinacare-sys.github.io/Console/";
const world = await (await fetch(base + "dex/world.json")).json();
const saos = world.markets.find(m => m.key === "SAOS/USDS");
console.log("SAOS mid:", saos.poolMid / 1000, "USDS");
console.log("book age min:",
  (Date.now() - Date.parse(world.publishedAt)) / 60000);

const verify = await (await fetch(base + "agent/verify/results.json")).json();
console.log("truth gate:", verify.summary.verdict,
  verify.summary.passed + "/" + verify.summary.total);

חוקי-הבית לצרכני-הספרים

חמישה כללים שמבדילים צרכן-טוב מצרכן-שיישרף.

  • תמיד קראו publishedAt והציגו גיל. ספר הוא מדידה, לא הבטחה.
  • אל תבנו על קצב · קראו את הקצב המתועד לכל ספר למעלה.
  • fail-closed: אם הספר לא נטען, אל תמציאו מחיר. הציגו שאין נתון.
  • אל תשמרו בצד יותר מהצורך · הספר הוא המקור, המטמון הוא חוב.
  • אמתו לבד · יש לכם agent/verify/run.mjs מלא בגיט שמראה בדיוק איך אנחנו בודקים את עצמנו.

שער-האמת · הספר שבודק את הספרים

בוט פומבי מריץ כל שעה עשרות בדיקות על הספרים האלה · טריות, עקביות, עוגני-שרשרת, היפוכי-עדיפות. התוצאות עצמן ספר פומבי. אין לנו סטטוס-עמוד נסתר · יש לנו שופט עם גיט.

חותמת-זמן ארכיטקטונית: · מקור-חי: status.json · רשת-ריבונית SAOS