Files
proxmox/info-defi-oracle-138

info.defi-oracle.io — Chain 138 public hub

Static SPA (Vite + React) for https://info.defi-oracle.io, aimed at regulated financial entities and payment/settlement infrastructure (cross-border payments and settlements; Compliant Digital Assets—not retail crypto positioning). Governance (/governance): DeFi Oracle, LLC technical architecture; international supervisory governance; DBIS / International Commerce Courts / GRU enforcement narrative. Ecosystem (/ecosystem), Documentation (/documentation — public vs authenticated portal), SolaceNet (/solacenet — capability/policy plane and rails governance, public summary). Features: c* / cW*, token-aggregation API, pools, quotes, CCIP routing, DODOPMMIntegration swaps, Disclosures, Agents (llms.txt, agent-hints.json).

Develop

cd /path/to/proxmox
pnpm install
pnpm --filter info-defi-oracle-138 dev

Open http://localhost:5180

Environment (optional)

Variable Purpose
VITE_TOKEN_AGGREGATION_API_BASE Optional override for token-aggregation origin. If unset in the browser, the client uses {window.location.origin}/token-aggregation (nginx on the dedicated info LXC proxies this to Blockscout). Falls back to https://explorer.d-bis.org/token-aggregation when location is unavailable (tests). Dev server proxies /token-aggregation → Blockscout per vite.config.ts.
VITE_RPC_URL_138 Chain 138 RPC for wallet / reads (default https://rpc.defi-oracle.io)

Example:

# Only if you are not using same-origin /token-aggregation on the deploy host:
# export VITE_TOKEN_AGGREGATION_API_BASE=https://explorer.d-bis.org/token-aggregation
export VITE_RPC_URL_138=https://rpc.defi-oracle.io
pnpm --filter info-defi-oracle-138 build

Build

pnpm --filter info-defi-oracle-138 build

Output: info-defi-oracle-138/dist/ — deploy as static files (any CDN, Nginx, object storage, or LXC).

Deploy info.defi-oracle.io

Use a dedicated small LXC for static nginx (default VMID 2410, 192.168.11.218 — not ThirdWeb 2400). From repo root:

  1. bash scripts/deployment/provision-info-defi-oracle-web-lxc.sh (once)
  2. bash scripts/deployment/sync-info-defi-oracle-to-vmid2400.sh (each release)
  3. NPMplus: bash scripts/nginx-proxy-manager/update-npmplus-proxy-hosts-api.sh (upstream defaults to IP_INFO_DEFI_ORACLE_WEB)
  4. DNS / TLS: See docs/04-configuration/INFO_DEFI_ORACLE_IO_DEPLOYMENT.md
  5. API: Prefer no VITE_TOKEN_AGGREGATION_API_BASE so the SPA uses same-origin /token-aggregation/ (reverse-proxied on the LXC). Set the variable only for special builds that must call a fixed external API (ensure CORS if cross-origin).

See also: docs/04-configuration/E2E_ENDPOINTS_LIST.md (dbis-api hosts), docs/04-configuration/ALL_VMIDS_ENDPOINTS.md (VMID targets).

Post-deploy check (public)

After uploading dist/ to the edge:

bash scripts/verify/check-info-defi-oracle-public.sh

The script checks SPA routes, agent static files, and /token-aggregation/api/v1/networks. Use INFO_SITE_BASE=https://your-staging-host for non-production URLs.

Refreshing cW* addresses

The Tokens page now prefers the live token-aggregation endpoint GET /api/v1/report/cw-registry and only falls back to the bundled registry when that endpoint is unavailable.

Gas-native registry

The Tokens page also prefers the live token-aggregation endpoint GET /api/v1/report/gas-registry for gas-family rollout state, including eth_mainnet vs eth_l2, backing mode, quote symbols, and runtime lane readiness. When that endpoint is unavailable, the site falls back to the bundled rollout metadata derived from repo config.

Canonical on-chain addresses

Built-in constants follow docs/11-references/CONTRACT_ADDRESSES_REFERENCE.md (e.g. DODOPMMIntegration, cUSDT/cUSDC on 138).