New sidebar entry right below HAL 8 with a robot-head icon (section id `agents`, AgentStackSection). The section carries the standalone page's markup as an inline string with its logo sprite, and its styles in a final style block with every class namespaced `aes-` so nothing collides with the hub's own cards, steps and heroes. The standalone page stays as the editable source; refold it with the integration script rather than editing by hand. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
96 lines
4.2 KiB
Markdown
96 lines
4.2 KiB
Markdown
# AP3X Fusion — ecosystem hub
|
|
|
|
The public ecosystem site for Apex Fusion, served at
|
|
**https://apex-fusion.odyssey-works.io**.
|
|
|
|
## What this is
|
|
|
|
A single self-unpacking `index.html` (~2.1 MB) — React and all assets are
|
|
bundled inside it. Sections: ecosystem overview, the Vector edge, tri-chain
|
|
architecture, AP3X across ecosystems, markets, stack map, HAL 8, agent stack,
|
|
news, wallets, bridges, dapps, explorers, staking, developers, exchanges.
|
|
|
|
## Agent Stack section
|
|
|
|
"The AI Agent Economy Stack" (HAL 8's capability, economic and trust planes,
|
|
architecture stack, standards and ecosystem) is a section of the hub: nav entry
|
|
**Agent Stack** right below HAL 8, section id `agents`, component
|
|
`AgentStackSection`. Its markup lives in the bundle as the `AES_HTML` string
|
|
with every logo embedded inline as SVG, and its styles sit in the last
|
|
`<style>` block with all class names namespaced `aes-` so they cannot collide
|
|
with the hub's own. The same content is also kept as a standalone page,
|
|
`agent-economy-stack.html`, served at `/agent-economy-stack.html`; edit that
|
|
file and refold it rather than editing the section by hand. Third-party marks
|
|
are the owners' official files.
|
|
|
|
## How it is served
|
|
|
|
Caddy on the HAL 8 host serves this directory as a static site. The box
|
|
pulls this repository; there is no build step and nothing to compile —
|
|
committing to `main` is the deploy.
|
|
|
|
Because the site is public and carries no secrets, this repository is
|
|
public too, so the host clones it without credentials.
|
|
|
|
## External dependencies
|
|
|
|
Two things are fetched at runtime rather than bundled:
|
|
|
|
- **three.js** `0.160.0` from `cdn.jsdelivr.net` — powers the Fusion
|
|
Chamber 3D visual (§12). If the CDN is unreachable that section
|
|
degrades; the rest of the page is unaffected.
|
|
- **The AI assistant widget** posts to `window.FUSION_AI_ENDPOINT`,
|
|
falling back to `text.pollinations.ai`. See the note below.
|
|
|
|
## Note on the AI assistant
|
|
|
|
The chat widget in the bottom-right sends visitor messages to a
|
|
third-party inference endpoint by default. `window.FUSION_AI_ENDPOINT`
|
|
can be repointed at HAL 8's own OpenAI-compatible API
|
|
(`https://hal8.odyssey-works.io/v1`) so conversations stay on
|
|
Odyssey Works infrastructure.
|
|
|
|
## Markets section — live feeds
|
|
|
|
Every number on the Markets page is fetched by the visitor's browser, so
|
|
only CORS-open sources can be called directly. Two are not, and the site
|
|
origin proxies them (Caddy, `deploy/Caddyfile` in the HAL 8 repo):
|
|
|
|
| Path on this origin | Upstream | Used for |
|
|
|---------------------|---------------------|-------------------------------------------------|
|
|
| `/api/koios/*` | `api.koios.rest` | VyFi pool reserves, cstAP3X vault + supply, Minswap V2 pool datum |
|
|
| `/api/lbank/*` | `api.lbkex.com` | AP3X/USDT ticker, depth, last trade |
|
|
|
|
Direct (CORS-open): CoinGecko, DexScreener, the Minswap aggregator
|
|
(`agg-api.minswap.org`, rate-limited to roughly five calls a minute per IP,
|
|
so the page makes one), Base JSON-RPC (`base-rpc.publicnode.com`; the two
|
|
Uniswap V3 pools and the Aerodrome cbADA pool are read from the chain
|
|
because DexScreener does not index them), ApexScan v1 on Nexus (USDC.e),
|
|
the Vector Koios instance, the Prime explorer, OSAM. DexHunter is the
|
|
fallback for Cardano reserves when Koios is down.
|
|
|
|
Fast feeds refresh every 90 s; the quota'd ones (Koios, LBank, Base RPC,
|
|
ApexScan) every third tick. Polling pauses in hidden tabs.
|
|
|
|
The page's own Cardano truth is a staking receipt, not a fourth asset:
|
|
`cstAP3X` is worth `vault cAP3X / cstAP3X issued` cAP3X each (about 1.07),
|
|
so it trades above cAP3X by design.
|
|
|
|
## Updating
|
|
|
|
Edit `index.html`, commit to `main`, and the host picks it up on its next
|
|
deploy tick (every five minutes). No build, no bundler, no CI.
|
|
|
|
The page is stored inside `index.html` as a JSON-encoded template that the
|
|
bundler unpacks at load time, so do not edit the escaped text by hand.
|
|
`tools/bundle.py` decodes it to a plain HTML file and re-encodes it
|
|
byte-exactly:
|
|
|
|
```
|
|
python3 tools/bundle.py decode index.html page.html # edit page.html
|
|
python3 tools/bundle.py encode index.html page.html index.html
|
|
```
|
|
|
|
The Markets code lives in `page.html` between `const MK_CG` and
|
|
`const SECTION_COMPONENTS`.
|