# PROJECT_STATE - OTB Billing ## v1.4.0 - 2026-05-18 Current state: - OTB Billing is running on outsidethedb. - Service: otb_billing.service. - App port: 5050. - Project path: /home/def/otb_billing. - /health renders the standard health grid with: - Status - Database - Uptime - Load Average - Memory - Disk - Operations Bal - Treasury Bal - Crypto Reconcile - Operations Bal and Treasury Bal show USDC, ETH, ETHO, EGAZ, and ETI balances. - Coin names in balance cards are clickable and open the relevant explorer address page: - Arbiscan for Arbitrum USDC - Etherscan for Ethereum ETH - explorer.ethoprotocol.com for ETHO - explorer.etica-stats.org for EGAZ/ETI - Crypto Reconcile card shows timer/service state plus payment queue stats. - Reconcile Now button on /health manually starts the existing crypto reconciliation worker. - Crypto reconcile worker remains timer-driven by otb-billing-crypto-reconcile.timer every 15 minutes. - otb-billing-crypto-reconcile.service is a one-shot service; inactive between timer runs is normal. - Current version: v1.4.0. # PROJECT_STATE - OTB Billing ## v1.3.0 - 2026-05-17 Current state: - OTB Billing health page is working at /health. - /health.json is working. - Health page now includes: - Operations Bal card for 0x44f6c44C42e6ae0392E7289F032384C0d37F56D5 - Treasury Bal card for 0xbe1fdc8c69f712d62cfcd3bf23f636de1dbd213f - Both cards report payment-asset balances for USDC, ETH, ETHO, EGAZ, and ETI. - Existing wallet_balances JSON key remains as a backward-compatible alias for operations_balances. - Service name: otb_billing.service - Runtime host: outsidethedb - App port: 5050 - Project path: /home/def/otb_billing Recent verification: - /health renders the new Operations Bal and Treasury Bal cards. - ETHO, EGAZ, and ETI balances resolve through existing project RPCs. - Arbitrum USDC and Ethereum ETH rows now use fallback-capable RPC helpers. - OTB Operations wallet alias has been added in both Etica and ETHO Blockscout explorers. ## v0.6.2 - Service Templates Stabilization - Verified template CRUD working - Verified template autofill working in service forms - Cleaned repo tracking (logs + temp scripts removed) Status: STABLE Next: Add template_id to services for linkage + billing automation ## v0.6.1 - Service Templates Phase 1 - Added service_templates table - Implemented admin CRUD routes in app.py - Added templates UI pages - Integrated template selection into services/new and services/edit - Auto-fill JS implemented for template selection Status: FUNCTIONAL Next: link templates to services + invoice integration --- # Project State Update - v0.6.0 Updated: 2026-04-11 01:49:22 UTC ## Current Version v0.6.0 ## Current Status OTB Billing is now a service-launch platform, not just billing. ## Completed This Session - Added /portal/services page - Added portal_services.py route module - Created portal_base.html shared template - Converted dashboard + services page to shared layout - Restored consistent branding, nav, footer, toggle - Added service cards (Follow-me, Video, Miner) - Fixed external service routing - Enabled new-tab launch for services ## Architecture Using shared base template: templates/portal_base.html All pages now: {% extends "portal_base.html" %} ## Next Steps - Unify client identity across all routes - Add Follow-me provisioning + billing linkage - Move inline CSS into shared styles later ### v0.5.3 - 2026-03-27 21:25:28 - OTB Billing crypto payment flow is now stable end-to-end. - Stale pending payment attempts no longer trap the invoice after quote expiry. - Wallet flow, auto-retry email behavior, and portal invoice UX validated. - Payment selector dropdown styling corrected for dark theme. - Project is in a clean state for continued production hardening. Project: OTB Billing Version: v0.4.3 Last Updated: 2026-03-13 Status: Portal lifecycle complete Current capabilities: - Admin can enable/disable portal access - Admin can generate/reset one-time access codes - Admin can send portal invite email - Admin can send portal password reset email Client portal features: - First login via single-use access code - Forced password creation - Email + password authentication after setup - Invoice dashboard - Invoice detail page - Secure invoice PDF downloads Infrastructure: - Flask backend running via systemd - MariaDB backend - SMTP email integration - Portal domain: portal.outsidethebox.top - Billing admin: otb-billing.outsidethebox.top ## v1.0.0 - 2026-05-03 - Portal onboarding flow upgraded - Email invites now include clickable activation link - /portal/set-password now supports direct email+code login - Auto session creation from invite link - Improved UX: no manual code entry required - Portal onboarding now production-ready ## v1.1.0 - 2026-05-03 - Added portal-based Android app download system - Secure APK delivery through OTB Billing (authenticated route) - "Download Android App" button added to OTB Cloud service card - Centralized app distribution strategy established - Foundation laid for future Follow-me and additional app downloads ## v1.2.0 - 2026-05-03 - Rewrote Service Agreement to platform-based terms - Removed aggressive "tracking app" language - Added multi-service structure (OTB Cloud, Follow-Me, future services) - Clarified data ownership and privacy model - Improved tone and professionalism of legal agreement - Terms now align with platform architecture