Examples
EV Fleet Charging
End-to-end walkthrough — meter, sign, and settle high-frequency charge sessions for depot and fleet operators.
EV Fleet Charging
This walkthrough demonstrates how Bridge Kernel provides cryptographic proof for EV charging sessions in a fleet depot environment.
Scenario
GreenFleet Logistics operates a 50-vehicle electric delivery fleet with a depot charging facility:
- 20 OCPP-connected AC chargers (22 kW each)
- 5 DC fast chargers (150 kW each)
- Vehicles charge overnight and during midday breaks
- Fleet generates 200+ charge sessions per day
The fleet manager needs per-session metering proof for:
- Driver billing (personal vs. company use)
- Energy procurement reconciliation
- Tax credit documentation
Step 1: Configure OCPP adapters
sense:
adapters:
# AC chargers via OCPP 1.6
- type: ocpp
version: "1.6"
endpoint: ws://charger-bank-ac.local:9000
charge_point_ids:
- "ac-01"
- "ac-02"
# ... through ac-20
source: "depot-ac-bank"
sector: ev
event_type: session_end
# DC fast chargers via OCPP 2.0
- type: ocpp
version: "2.0"
endpoint: ws://charger-bank-dc.local:9100
charge_point_ids:
- "dc-01"
- "dc-02"
- "dc-03"
- "dc-04"
- "dc-05"
source: "depot-dc-bank"
sector: ev
event_type: session_endStep 2: Configure policy
Allow charge session events, deny everything else:
{
"version": "2026-03-01",
"default_action": "deny",
"rules": [
{
"name": "allow-ac-sessions",
"action": "allow",
"sector": "ev",
"event_type": "session_end",
"source": "depot-ac-bank"
},
{
"name": "allow-dc-sessions",
"action": "allow",
"sector": "ev",
"event_type": "session_end",
"source": "depot-dc-bank"
}
]
}Step 3: Event flow
When a charge session completes, the OCPP adapter produces an AdapterEvent:
{
"sector": "ev",
"event_type": "session_end",
"source": "depot-ac-bank",
"payload": {
"charge_point_id": "ac-07",
"connector_id": 1,
"transaction_id": "txn-2026030814220001",
"id_tag": "driver-badge-042",
"start_time": "2026-03-08T01:15:00Z",
"end_time": "2026-03-08T06:45:00Z",
"energy_kwh": 48.2,
"max_power_kw": 21.8
},
"timestamp": "2026-03-08T06:45:01Z",
"dedupe_key": "txn-2026030814220001"
}Bridge Kernel then:
- Validates timestamp within replay window
- Canonicalizes the payload to deterministic JSON
- Computes SHA-256 hash
- Signs with Ed25519
- Evaluates policy (allow — matches
allow-ac-sessionsrule) - Persists ProofEnvelope to ledger
Step 4: Query session proofs
# All sessions for a specific driver
bridge-node ctl ledger --source depot-ac-bank \
--filter "payload.id_tag=driver-badge-042" \
--from 2026-03-01 --to 2026-03-31 \
--format json
# Total energy delivered across all chargers
bridge-node ctl metrics --config bridge.yamlResult
- Per-session proof: Every charge session has a cryptographic receipt with energy delivered, duration, and driver ID.
- Billing accuracy: Driver personal-use charges are provably separated from company fleet charges.
- Tax documentation: Signed evidence packs for EV tax credit claims.
- Dispute resolution: If a driver contests a charge, the ProofEnvelope proves exactly what happened at the charger.