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
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:
- Human-facing market dashboard for fiat and crypto lines
- 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/monitorafter 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
Recommended next work
- 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