Nerava for Developers

Build on verified EV charging data

Integrate with the Nerava platform to submit charging sessions, evaluate incentive campaigns, and manage driver wallets. One SDK, typed end-to-end, zero runtime dependencies.

npm install @nerava/sdk

The Nerava SDK

The official TypeScript SDK wraps the Nerava Partner API behind typed modules. Partners install it into their Node services or TypeScript apps and call methods instead of hand-rolling HTTP requests, auth headers, or response parsing.

Submit Sessions

Send verified charging sessions from your network. Each session is evaluated against active campaigns and returns incentive grants in real time.

Evaluate Incentives

Query active campaigns by location, network, or charger type. The incentive engine matches sessions to the highest-priority campaign automatically.

Manage Wallets

Credit driver wallets, query balances, and initiate payouts. All money is handled in cent-integers with double-entry ledger guarantees.

Mock Server

Exercise every endpoint locally without backend credentials. The included mock server returns realistic responses for all SDK methods.

Quick start

import { Nerava, usd, latLng } from "@nerava/sdk";

const nerava = new Nerava({
  apiKey: "nrv_pk_yourPartnerKey"
});

// Submit a charging session
const session = await nerava.sessions.submit({
  vehicleId: "v_abc",
  chargerId: "c_heights",
  ...latLng(31.0824, -97.6492),
});

// Check available campaigns
const campaigns = await nerava.campaigns.list({
  lat: 31.0824, lng: -97.6492,
});

// Credit a driver wallet
await nerava.wallet.credit({
  driverId: "drv_1",
  amount: usd(500),    // $5.00 in cents
  campaignId: "camp_1",
});

Built for production

TypeScript-first

Full type definitions shipped with the package. Every request and response is typed end-to-end.

Zero dependencies

Uses native fetch on Node 18.17+. No axios, no node-fetch, no runtime bloat.

Cent-integer money

All monetary values are integers in cents. No floating-point dollars at any API boundary.

Flat error model

One NeravaError class discriminated by code. No nested error hierarchies to unpack.

Partner trust tiers

Hardware-verified, API-verified, and app-reported tiers determine session quality scoring.

Idempotent by default

Every mutating endpoint accepts idempotency keys. Safe to retry without creating duplicates.

Developer portal coming soon

API key management, usage dashboards, webhook configuration, and interactive API docs are on the way. In the meantime, reach out to get started with a partner API key.

Request API Access

Or email james@nerava.network directly