You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2.6 KiB

PROJECT_STATE.md

Project: monitor
Version: v0.2.0
Updated: 2026-03-15 04:49:42

Project purpose

Monitor is the OutsideTheBox pricing dashboard and oracle service.

It serves two roles:

  1. Human-facing market dashboard for fiat and crypto lines
  2. Machine-facing oracle API for quote generation and billing integrations

Current live architecture

Price providers -> oracle fetch/cache -> monitor backend -> nginx on tax -> webfront on mintme -> monitor.outsidethebox.top

Live backend components

Monitor backend

  • File: /home/def/monitor/backend/server.js
  • Service: monitor-backend.service
  • Bind: 127.0.0.1:4010

Oracle refresh

  • File: /home/def/monitor/oracle/fetch_prices.js
  • Service: otb-oracle-refresh.service
  • Timer: otb-oracle-refresh.timer

Frontend source

  • Directory: /home/def/monitor/frontend

Live frontend served by nginx

  • Directory: /var/www/monitor

Oracle milestone summary

This version marks the first major oracle release.

Added

  • Oracle asset registry
  • Oracle cache file
  • Oracle pricing engine
  • Oracle route layer
  • Oracle quote generation
  • Frontend oracle status panel
  • Frontend quote calculator
  • CoinGecko primary source support
  • CoinPaprika fallback support
  • Billing-enabled asset selection
  • Oracle integration into main monitor backend

Current oracle endpoints

  • /api/oracle/health
  • /api/oracle/assets
  • /api/oracle/prices
  • /api/oracle/price/:pairKey
  • /api/oracle/quote
  • /api/oracle/status

Asset status

Billing-enabled

  • USDC_ARB
  • ETH_ETH
  • ETHO_ETHO
  • ETI_ETICA

Present but not billing-enabled

  • EGAZ_ETICA

Source behavior

Primary

  • CoinGecko

Fallback

  • CoinPaprika

Notes

  • ETHO may resolve from CoinPaprika fallback depending on source response
  • EGAZ is intentionally excluded from billing until a trustworthy pricing source is finalized

Operational notes

  • Oracle API is mounted inside the main monitor backend under /api/oracle
  • Standalone oracle API service is no longer required
  • Refresh timer keeps the oracle cache fresh independently of UI polling
  • Frontend must be redeployed to /var/www/monitor after frontend source changes

Known constraints

  • Quote output currently supports CAD quote generation
  • EGAZ billing remains disabled
  • Frontend deployment is file-copy based rather than build-pipeline based
  • Monitor has no packaged release tooling yet
  • Improve oracle source resilience and quorum logic
  • Add stronger deployment/update workflow for frontend sync
  • Extend quote usage into OTB Billing invoice/payment flows
  • Add cleaner release packaging / backup workflow for monitor