OCPI (Open Charge Point Interface) is an open protocol that enables roaming between electric vehicle charging networks. It allows EV drivers to charge at any station, regardless of which network they subscribe to — similar to how mobile phone roaming works across carriers.
Developed by the EVRoaming Foundation, OCPI is the most widely adopted roaming protocol in Europe and is gaining traction globally.
Why OCPI Matters
Without OCPI, each charging network is a walled garden. An EV driver with a ChargePoint account can only use ChargePoint stations. OCPI breaks down these barriers:
- Driver convenience: One app or RFID card works across all networks
- Network growth: CPOs gain access to more customers without marketing spend
- Revenue sharing: Automated billing and settlement between networks
- Market expansion: eMSPs can offer nationwide coverage without owning chargers
How OCPI Works
OCPI defines how two parties exchange data:
- CPO (Charge Point Operator): The company that owns and operates the chargers
- eMSP (e-Mobility Service Provider): The company that provides charging access to EV drivers
Key OCPI Modules
| Module | Purpose |
|---|---|
| Locations | Share charger locations, availability, and capabilities |
| Sessions | Real-time charging session data |
| CDRs | Charge Detail Records for billing and settlement |
| Tariffs | Pricing information per charger or network |
| Tokens | Driver authorization (RFID, app-based) |
| Commands | Remote start/stop, reserve charger |
| Hub Client Info | Connection status between roaming partners |
OCPI Communication Flow
- CPO publishes charger locations and tariffs via OCPI
- eMSP pulls this data and displays it to EV drivers
- Driver selects a charger and authenticates via eMSP app
- eMSP sends authorization to CPO via OCPI
- CPO starts the charging session
- Session data and CDRs are exchanged for billing
OCPI vs OCPP: What's the Difference?
This is one of the most common questions in the EV charging industry:
| OCPP | OCPI | |
|---|---|---|
| Purpose | Charger ↔ Backend communication | Network ↔ Network roaming |
| Parties | Charge Point and CSMS | CPO and eMSP |
| Transport | WebSocket (persistent) | REST API (HTTP) |
| Scope | Single network operations | Cross-network interoperability |
| Example | "Start charging on connector 1" | "Driver X is authorized on your network" |
In short: OCPP manages individual chargers. OCPI enables roaming between charging networks.
OCPI Versions
OCPI 2.1.1
The most widely deployed version. Covers core roaming functionality including locations, sessions, CDRs, tariffs, and tokens.
OCPI 2.2.1
Adds support for:
- Hub functionality: Connect to roaming hubs like GIREVE and Hubject
- Charging preferences: Driver preferences for green energy, schedule charging
- Improved tariffs: More granular pricing structures
- Better error handling: Standardized error codes
Roaming Hubs
Rather than establishing direct OCPI connections with every network, most companies connect through a roaming hub:
- GIREVE: The largest roaming hub in Europe, connecting 400+ CPOs and eMSPs
- Hubject: Global roaming hub with Plug&Charge support
- e-clearing.net: Pan-European clearing house
- OICP: Hubject's proprietary protocol (alternative to OCPI)
How to Test OCPI
Testing OCPI implementations requires simulating both CPO and eMSP roles, generating realistic session data, and validating complex billing scenarios.
OCPPLab supports OCPI 2.1.1 testing alongside OCPP, letting you:
- Simulate CPO and eMSP endpoints
- Generate realistic CDRs and session data
- Test tariff calculations and billing flows
- Validate roaming hub integration (GIREVE compatible)
- Run end-to-end roaming scenarios
Frequently Asked Questions
Can I use OCPP without OCPI?
Yes. OCPP is for managing your own chargers. You only need OCPI if you want to enable roaming with other networks.
Is OCPI mandatory in Europe?
Not legally mandatory, but practically essential. The EU Alternative Fuels Infrastructure Regulation (AFIR) requires ad-hoc access to all public chargers, which in practice requires roaming capability.
What is the difference between OCPI and OICP?
OCPI is an open community protocol. OICP is Hubject's proprietary roaming protocol. Both serve the same purpose (roaming), but OCPI is more widely adopted and openly governed.



