Documentation & Ecosystem | map.watt.ma
Back to Map
Documentation & Protocol

Ecosystem Guide

Welcome to the open-source EV directory for Morocco. Understand how we ensure verifiable data, reward active community members with WATT tokens, and run the network.

Verifiable Data

Dual verification by community check-ins and IoT tech checkers.

WATT Tokens

Earn utility tokens by contributing and charge for free cumulatively.

Donate

Support server costs and mapping technology via secure donation.

Community & Technology Verification

At **watt.ma**, we believe that EV drivers need high-fidelity, real-time data to charge with confidence. To guarantee that every charging station listing on our platform is authentic and functional, we implement a multi-tiered verification protocol combining **Community Audits** and **IoT Monitoring Technology**.

Community Verification

Real EV drivers verify listings on-the-ground. By checking in, uploading photos, submitting power readings, and reporting status (working, blocked, or broken), the community maintains the absolute truth of our directory.

Technology Verification

We integrate directly with CPMS (Charge Point Management Systems) via OCPP endpoints when available. Additionally, automated status check scripts run daily to query status endpoints and ping network operators.

Community Contribution Points & Perks

To thank individuals who audit and keep the directory accurate, we operate the **WATT Community Contribution Rewards Program**. Every driver who contributes verified station photos or reports charger status receives in-app contribution points.

How it works:

  • Submit New Stations: Earn 50 WATT Points upon validation of a new charger location.
  • Status Updates & Photos: Provide verified photo proof or check-in reports to earn 10 WATT Points.
  • Subsidized Session Credits: Accumulated points can be redeemed at participating partner chargers for charging discounts and community perks.

* Note: WATT points are strictly non-financial, non-transferable in-app loyalty rewards designed to credit community data maintenance.

Cross-Continental CPO Roaming (Europe to Africa)

Interoperability and charging itinerancy are crucial for EV drivers crossing borders. In Europe, roaming is standardly solved by connection hubs like **Hubject** and **GIREVE** using the **OCPI (Open Charge Point Interface)** protocol. As EV infrastructure expands from Europe into North Africa (specifically Morocco), bridging these two ecosystems is essential.

How Roaming Works:

When a CPO (Charge Point Operator) in Morocco connects to a roaming hub, they publish their charger data (location, connectors, real-time availability) using OCPI. eMSPs (eMobility Service Providers) in Europe can then authorize charging sessions using their users' RFID cards or mobile apps, routing the billing and authorization data securely across continents.

Moroccan Roaming Outlook:

Morocco's networks (e.g., Afriquia, Ziz Mobilité) are currently developing local billing systems. While European cards are not yet widely accepted, adoption of the OCPI standard is growing. At watt.ma, our goal is to build unified translation nodes that help local operators easily link with European roaming hubs, allowing seamless travel between continents.

OCPI 2.2.1 CPO API Endpoints

We have prepared and configured standard-compliant type definitions and API route stubs in the codebase to facilitate direct integration with platforms like GIREVE and Hubject:

GET/locations

Exposes all 146 deduplicated Moroccan chargers in OCPI 2.2.1 Location schema format.

GET/tariffs

Publishes billing structures, connection flat rates, and energy costs (MAD/kWh) to eMSPs.

POST/commands/START_SESSION

Receives remote commands to authenticate RFID keys or start charges from European apps.

POST/commands/STOP_SESSION

Remotely terminates and stops ongoing EV charging sessions securely.

How to Consume OCPI Live Status Feed

If you are a client app consuming external CPO statuses, you can pull live availability:

1. Live Status Proxy API

We've set up a serverless function endpoint at /api/live-status?stationId=X. It checks if partner credentials exist in the environment, calls the external CPO endpoint, and returns normalized availabilities.

GET /api/live-status?stationId=ocm-285263

{
  "stationId": "ocm-285263",
  "connectors": [
    { "id": "conn-285263-0", "status": "AVAILABLE" },
    { "id": "conn-285263-1", "status": "IN_USE" }
  ]
}
2. Frontend Toggle Integration

EV drivers can filter out offline/busy chargers by toggling the "Live Availability" filter on the homepage. The client app will load live statuses asynchronously from our proxy API and color-code markers on the Leaflet map (Green: Available, Orange: In Use, Red/Grey: Offline).

Support the Network

Donate to Improve the Network

We are building an open, non-proprietary mapping database for all EV owners in Morocco. Hosting maps, routing computations, and running continuous verification tasks requires server resources. By donating, you help buy API credits, maintain servers, and fund WATT tokens pool for contributors.

✓ 100% Secure Checkout✓ Zero platform fees taken
DonateHelp scale Moroccan EV infrastructure