Browse Source

Document monitor oracle milestone and bump to v0.2.0

main
def 7 days ago
parent
commit
4d94389ccc
  1. 110
      PROJECT_STATE.md
  2. 88
      README.md
  3. 1
      VERSION

110
PROJECT_STATE.md

@ -0,0 +1,110 @@
# 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
## 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

88
README.md

@ -0,0 +1,88 @@
# Monitor
Monitor is the pricing and oracle dashboard for `monitor.outsidethebox.top`.
It began as a rotating market display for fiat and crypto lines and now includes a live oracle subsystem for billing-oriented crypto quote generation.
## Current scope
Monitor currently provides:
- Rotating fiat and crypto line updates
- 7-day sparkline display for supported assets
- CoinGecko market chart integration for tracked assets
- KlingEx pair support for selected ecosystem assets
- Oracle asset registry and live cache
- Oracle status panel in the frontend
- Live quote calculator using oracle quote data
- Oracle API endpoints for billing and future checkout integrations
## Oracle milestone
This release introduces the first production-style oracle layer for OutsideTheBox billing and payment work.
Highlights:
- Added `/api/oracle/assets`
- Added `/api/oracle/prices`
- Added `/api/oracle/price/:pairKey`
- Added `/api/oracle/quote`
- Added `/api/oracle/status`
- Added oracle price cache refresh timer
- Added CoinGecko primary pricing
- Added CoinPaprika fallback pricing
- Added billing-enabled asset handling
- Added quote priority ordering
- Added frontend Oracle Status panel
- Added frontend live quote calculator
- EGAZ remains visible but is currently excluded from billing quotes
## Current tracked oracle assets
- USDC on Arbitrum
- ETH on Ethereum
- ETHO
- ETI
- EGAZ (displayed, not billing-enabled for now)
## Services and runtime layout
Primary backend:
- `backend/server.js`
- Served by `monitor-backend.service`
Oracle refresh:
- `oracle/fetch_prices.js`
- Refreshed by `otb-oracle-refresh.timer`
Frontend:
- Static files served by nginx from `/var/www/monitor`
- Source files maintained in `/home/def/monitor/frontend`
## Deployment notes
Backend is served locally on:
- `127.0.0.1:4010`
Oracle routes are mounted under:
- `/api/oracle/*`
The tax nginx vhost serves the frontend and proxies API requests to the backend.
The mintme webfront proxies public traffic to the tax host.
## Important note
If frontend changes are made under `/home/def/monitor/frontend`, they must also be copied into:
- `/var/www/monitor`
or the live site will continue serving the older frontend files.
## Status
This project is now at its first documented oracle milestone and is ready to be consumed by other internal systems such as OTB Billing.

1
VERSION

@ -0,0 +1 @@
v0.2.0
Loading…
Cancel
Save