EnfinitOSEnfinitOS
DevelopersTransit & broadcast
Production-ready scaffold

Satellite SDK

Adapter-mostly: Dialog / iDirect + Comtech ground segments. Translates carrier / MODCOD / footprint into substrate-agnostic vocabulary.

@enfinitos/sdk-satelliteSubstrate SATELLITETypeScript
Install

Get the SDK

npm install @enfinitos/sdk-satellite

About this status badge

Typed, tested, documented, and grounded in the 2026 platform reality. Awaiting first customer-integration validation.

README

The developer-facing documentation in full

Rendered from packages/sdks/satellite/README.md at build time — the same source the package ships with.

@enfinitos/sdk-satellite

EnfinitOS reference SDK for the SATELLITE substrate.

This is an adapter-mostly SDK: a thin operator-side wrapper that translates ground-segment-modulator vocabulary (carriers, MODCODs, beams, footprints, Es/N0, BER) into the EnfinitOS platform's substrate-agnostic proof and footprint vocabulary.

Architecture

            ┌──────────────────────────────────────┐
            │     EnfinitOSSatelliteClient         │
            │  (ts-core/src/satelliteClient.ts)    │
            │                                      │
            │  ┌────────────────────────────────┐  │
            │  │  EnfinitOSRendererClient       │  │
            │  │  (proof-of-play, health, etc.) │  │
            │  └────────────────────────────────┘  │
            │  ┌────────────────────────────────┐  │
            │  │  FootprintReporter             │  │
            │  │  → POST /broadcast/footprint   │  │
            │  └────────────────────────────────┘  │
            │  ┌────────────────────────────────┐  │
            │  │  ComplianceEmitter             │  │
            │  │  → ITU-R / FCC / Ofcom packs   │  │
            │  └────────────────────────────────┘  │
            └────────────────┬─────────────────────┘
                             │ attach(modulator)
            ┌────────────────▼─────────────────────┐
            │  ModulatorAdapter                    │
            │  (interface — vendor-specific impl)  │
            └──┬──────────────────────────────┬────┘
               │                              │
       ┌───────▼──────┐                ┌──────▼───────┐
       │ Dialog NMS   │                │ Comtech      │
       │ (ST Eng /    │                │ CDM-625 /    │
       │  iDirect)    │                │ CDM-700      │
       └──────────────┘                └──────────────┘

2026 platform reality

Modulation

  • DVB-S2X (ETSI EN 302 307-2) is the only modulation new builds should select. The SDK accepts DVB-S2 carriers from legacy modulators for retrofit deployments, but the compliance emitters flag them with legacy: true so the operator sees the drift.

Ground-segment vendors

  • ST Engineering iDirect (acquired Newtec in 2019; product now branded "Dialog") — dominant on commercial VSAT + DTH. The SDK ships a Dialog NMS REST API adapter.
  • Comtech EF Data — dominant on direct-to-home + military point-to-point. SNMP-first (CDM-625 MIB) with a REST shim on firmware 3.x+. The SDK ships an adapter against both control planes.

Carrier topology

  • AMC-SCPC — Adaptive Modulation & Coding Single Channel Per Carrier. The mainstream commercial DTH and point-to-point default.
  • MCPC — Multiple Channels Per Carrier. High-density transponder fills.

The SDK does NOT decide which topology a carrier runs as — the operator declares it on each SatelliteCarrier and the SDK reports it through.

Regulatory evidence

  • ITU-R BR IFIC — the operator-side payload for the bi-weekly BR IFIC submission funnel. Articles 9 (geostationary coordination) and 11 (notification) of the Radio Regulations.
  • FCC Part 25 (US) — 47 CFR §25.273 quarterly transmission reports + §25.218 EIRP-density attestation.
  • Ofcom (UK) — Wireless Telegraphy Act 2006 s.8 satellite earth-station licences.
  • (ANFR France / BNetzA Germany follow the same pack shape.)

The SDK does NOT file with regulators. It assembles the operator-side payload; operators funnel the pack into their authorised filing pipeline.

Platform-side endpoints

  • POST /broadcast/footprintneeds-future-API-work. The platform's existing satellite ephemeris service consumes claims from operator rights filings; the dedicated runtime push endpoint for live carrier state has not landed yet. The SDK ships with the endpoint configurable so early adopters can stand up a thin receiver while the route lands.
  • POST /runtime/event-ingestexisting. Per-carrier UP/DOWN/ QUALITY events ride this endpoint as substrate-tagged PlayEvents.
  • POST /runtime/health-ingestexisting. Teleport-level health heartbeats.

Getting started

import {
  EnfinitOSSatelliteClient,
  type SatelliteCarrier,
  type BroadcastFootprint,
} from "@enfinitos/sdk-satellite";
import { DialogAdapter } from "@enfinitos/sdk-satellite-dialog-idirect";

const carrier: SatelliteCarrier = {
  carrierId: "GH22-FWD-K1",
  centerFrequencyMhz: 14_250,
  symbolRateMsps: 30,
  rollOff: 0.05,
  modcod: "32APSK 4/5",
  modulation: "DVB-S2X",
  topology: "AMC-SCPC",
};

const footprint: BroadcastFootprint = {
  coveredTerritories: ["GB", "IE", "FR", "DE"],
};

const client = new EnfinitOSSatelliteClient({
  apiBaseUrl: "https://api.enfinitos.com",
  satelliteId: "GH-22",
  teleportId: "BetzdorfNorth",
  authToken: process.env.ENFINITOS_TOKEN!,
  carriers: [carrier],
  operatorRef: "SES-S.A.",
});

await client.start();

// Manual reporting
await client.reportCarrierUp(carrier, footprint);
await client.reportSignalQuality(carrier, 12.4, 1e-7);

// Or attach a modulator and let it stream
const dialog = new DialogAdapter({
  nmsBaseUrl: "https://nms.example.com",
  modulatorId: "hub-01",
  auth: {
    kind: "oauth2",
    clientId: process.env.DIALOG_CLIENT_ID!,
    clientSecret: process.env.DIALOG_CLIENT_SECRET!,
  },
});
await client.attach(dialog);

// Quarterly evidence
const pack = await client.emitFccEvidence(
  new Date("2026-04-01"),
  new Date("2026-07-01"),
);

Honest scope

This SDK is intentionally narrow. It does NOT:

  • Tune modulators or control beam pointing.
  • Validate ITU coordination requests.
  • File evidence with regulators.
  • Implement frequency-coordination logic (that's the operator's RF-planning team's job).

It DOES:

  • Translate vendor modulator state into EnfinitOS PlayEvents + BroadcastFootprintClaims.
  • Assemble the operator-side regulatory pack envelope.
  • Run a structured Es/N0 + BER ingest path through the existing renderer-core proof pipeline.
API reference

Hit the HTTP surface directly

The Satellite SDK is a thin client over the same governed HTTP API every other SDK calls. The full OpenAPI 3.1 reference lives on the docs site.

Sandbox

Run this SDK against a real tenant

The hosted sandbox is the fastest way to verify Satellite SDK against a real EnfinitOS tenant before committing to a pilot. Launching Q4 2026.