The platform behind ChargeMeCar

Apostol CSMS — the engine that powers ChargeMeCar

An industry-grade CSMS platform with multi-version OCPP, OCPI 2.2.1 + 2.3.0 roaming, Stripe Connect for the European market and AFIR-compliant ad-hoc charging. ChargeMeCar is one of multiple deployments running on it today.

  • OCPP 1.5 / 1.6 / 2.0.1
  • OCPI 2.2.1 + 2.3.0
  • Stripe Connect
  • AFIR-compliant
  • Multi-tenant
  • Open core
What it is
An infrastructure layer — not a closed-cloud service
A CSMS (Charging Station Management System) is the software that connects EV charging stations to the rest of the world: drivers, payment processors, regulators, roaming partners. Apostol CSMS is the platform; ChargeMeCar is one brand built on it.

Think of it as Shopify for EV charging — same platform, many distinct brands, each fully owned by its operator.

How it's related
How ChargeMeCar relates to the platform
Three things to know — for transparency, not for the marketing brochure.
01

Same engine, no fork

ChargeMeCar runs as a tenant-owned deployment on Apostol CSMS — same engine as every other deployment, identical protocol stack, identical payment plumbing. There is no «ChargeMeCar branch» of the platform.

02

Mature core

The platform's underlying server framework has been in production operation for over nine years. Apostol CSMS is the result of years of platform refinement, designed with full knowledge of the limitations observed in extended commercial use of an earlier generation.

03

Operationally independent

Our Stripe Connect accounts, our infrastructure, our legal entity. The platform owner cannot operate ChargeMeCar's brand without us — and vice versa.

Protocols
Open standards, no vendor lock-in
The platform speaks the protocols every modern charging-station network uses — OCPP for hardware, OCPI for inter-network roaming. Three OCPP versions are supported simultaneously.

OCPP — three versions, one runtime

OCPP 1.5 (SOAP)

Legacy compatibility for older equipment kept in service.

OCPP 1.6 (JSON / WebSocket)

The most widely deployed version on the market — fully implemented, ten station-to-centre messages and nineteen centre-to-station commands.

OCPP 2.0.1 (modern)

Three-tier model (Station → EVSE → Connector), persistent Device Model, string session identifiers. Implemented in core scope; advanced extensions on the roadmap.

Automatic version detection at connection time. Commands sent from the central system are translated 1.6 ↔ 2.0.1 transparently — mixed equipment fleets are supported without additional effort.

OCPI — roaming with both active versions

OCPI governs the rules by which different charging networks exchange information about charge points, tariffs, user identities and sessions. Both currently active versions of the standard are supported simultaneously, in both roles.

CPO role

Exposes ChargeMeCar's stations to roaming partners — including readiness for the Hubject and Gireve hubs.

eMSP role

Accepts driver tokens from external partner networks; remote start-charging commands flow through the same channel.

Hardware-neutral by design

Works with any OCPP 1.6 / 2.0.1 compliant station — including those of competitors. The platform is hardware-neutral by design, not by certification list.

Payments
Stripe Connect for the European market
Direct Charges to the station owner's Stripe Connect account, automatic application-fee retention, SEPA payouts T+1…T+2, full PSD2 / 3-D Secure compliance, and an AFIR-compliant ad-hoc QR flow.

Stripe Connect capabilities

  • OAuth onboarding for existing Stripe accounts
  • Automatic application_fee per transaction
  • Refunds + reverse transfers
  • Webhooks: charge.succeeded, payment_intent.*, payout.*
  • PSD2 3-D Secure built in by default
  • Partner pay-outs through Stripe Connect

AFIR ad-hoc QR — four-step flow

  1. 01

    Scan

    The driver scans the QR code printed on the station.

  2. 02

    See tariff

    Pricing and conditions presented up-front — no account required.

  3. 03

    Pay

    Stripe Checkout / Payment Links handle the secure payment page.

  4. 04

    Charge

    Receipt issued; charging starts immediately on the platform's command.

Wallet + double-entry book-keeping

Every movement of funds is simultaneously debited from one account and credited to another. Balance integrity is structural, audit trails are by-design, and partial refunds reconcile cleanly across operator, platform and partner accounts.

Applications
Five surfaces, one platform
Five separately-deployable apps make up a complete CSMS deployment. All five are publicly distributed as Docker images on GitHub Container Registry; brands run their own copies, branded via signed manifest.

Webapp

Next.js + React + Ant Design

Operator dashboard — CRM, analytics, cross-tenant administration

Driver PWA

Vite + React + Ant Design Mobile

End-user app — interactive map, sessions, wallet, history, station reservation

Pay

Nuxt + Tailwind

Single-payment QR flow without registration (AFIR ad-hoc)

Auth

Vue + Vite

OAuth2 identity provider for the entire surface area

Landing

Nuxt + Quasar + GSAP

Brand marketing site — including this page

All five apps are publicly distributed as Docker images on GitHub Container Registry; each brand runs its own copies, branded via a signed manifest delivered at runtime.

Architecture
Boring stack, fast operations
Two-layer core: a single-loop transport written in modern C++, and the business logic written in PostgreSQL itself. Both layers are independently open-sourced; vendor-lock-in risk for the buyer is minimal.

C++ transport layer

A single asynchronous event loop binding HTTP and PostgreSQL together — built on the open libapostol framework, in production code base since 2017.

PostgreSQL business logic

Workflow engine, role-based access control, double-entry ledger — all written in PL/pgSQL on the open db-platform framework. Hot-reloadable, transactional, no separate ORM.

Open foundation, closed distribution

Three foundation repositories are MIT-licensed and publicly available under github.com/apostoldevel: libapostol — the C++ transport (github.com/apostoldevel/apostol); db-platform — the PostgreSQL framework (github.com/apostoldevel/db-platform); ocpp-cs — the OCPP central-system reference (github.com/apostoldevel/ocpp-cs). The CSMS itself ships as Docker images from github.com/apostol-csms. Vendor-lock-in risk is structurally bounded — even if the distribution layer were withdrawn, the entire foundation remains operable from open source.

Multi-tenant by design

Ed25519-signed brand licences and per-brand encrypted DB content. One software distribution; fully separated brand operations.

Engineering principles
What characterises this platform
Three qualities that are deliberately central to the platform's design.

Real-world validation

The platform's core has run in production for over nine years. The current generation was rebuilt with full knowledge of the previous generation's limitations, observed in extended commercial use rather than in laboratory conditions.

Hardware independence

The platform speaks OCPP 1.6 and 2.0.1 to any compliant charging station, regardless of vendor — including equipment from competing CSMS suppliers. Hardware-neutrality is structural, not a list of certifications.

Cryptographic brand isolation

Every deployment runs under an Ed25519-signed brand licence and serves DB content encrypted under a per-brand key derived from that licence. One software distribution; fully separated brand operations.

Regulatory
Built around EU compliance
The platform is designed for the European regulatory perimeter, with explicit provisions for the four standards that matter to a CPO operator.

AFIR — ad-hoc payment

Public charging infrastructure must accept payment from any driver without prior registration. Fully implemented through Stripe Checkout / Payment Links and the anonymous-driver QR flow.

GDPR

Data residency in the EU, right to erasure, audit logs, signed consent records — built into the data layer rather than bolted on.

PSD2 / 3-D Secure

Strong customer authentication is enforced by default for European cards through Stripe. No payment route bypasses 3-D Secure.

ISO 15118 «Plug & Charge»

Planned, on the OCPP 2.0.1 roadmap. Honest disclosure: this feature is not yet shipping; it sits behind the work scheduled for the platform's next major increment.

White-label option

If you're a CPO or utility looking to run your own CSMS

The platform supports it natively. A new brand operator deploys a fully configured, fully branded, legally and fiscally tied instance in five to ten minutes. See our white-label programme.

See the white-label programme →
Get in touch

Want to learn more about the platform?

Send us a brief or open the operator dashboard demo. We'll walk you through whatever's relevant.

Open cloud demo →