The UBI Risk Coprocessor is designed to process vehicle telemetry data and calculate insurance risk scores within a Cartesi machine while maintaining external API communication for data ingestion.
- DIMO API Integration
- Vehicle telemetry data fetched via frontend
- Data formatted according to
DimoTelemetryDatainterface - API calls remain external to coprocessor
-
Input Handler
- Receives formatted telemetry data
- Validates input structure
- Prepares data for risk model
-
Risk Analysis Model
- Runs within Docker container
- Processes validated telemetry data
- Uses logistic regression for risk calculation
- Coefficients configured for:
- Vehicle usage patterns
- Driving behavior metrics
- Location-based risk factors
-
Output Processor
- Scales results for blockchain (18 decimals)
- Formats response for smart contract consumption
[External APIs] -> [Frontend] -> [Smart Contract] -> [Coprocessor]
| | | |
| | | |
DIMO API Data Format Input Notice Risk Model
| | | |
Vehicle Data JSON Payload Blockchain Calculation
| | | |
Real-time Standardized Transaction Risk Score
- Base image: cartesi/node:20.11
- Environment setup for Node.js runtime
- Dependencies installation
- Model configuration loading
- Model runs entirely within coprocessor
- No external API calls during calculation
- Pre-configured coefficients
- Input validation and sanitization
- External data collection (frontend)
- Data formatting and validation
- Coprocessor input processing
- Risk model calculation
- Result scaling and output
- Input validation at multiple levels
- No external network access during calculation
- Deterministic processing
- Verifiable outputs
- Unit tests for risk model
- Integration tests for data flow
- End-to-end tests with mock data
- Performance benchmarking
- Docker container configuration
- Risk model coefficient validation
- Input/output format verification
- Network isolation confirmation
- Performance optimization
- Security audit