// DOCUMENTATION
Docs
Technical reference for Clarke: how the on-chain program works, where the orbital slot data comes from, and how the legal structure is designed. Clarke is building capital markets for orbital infrastructure. This is the engineering and methodology behind it.
Overview
Clarke is building capital markets for orbital infrastructure: the registry, pricing layer, and exchange for orbital slots across GEO, LEO, and MEO. The on-chain program is a proof of concept for fractional positions in orbital slot revenue, currently running on Solana devnet with three GEO slots modeled as a technical demonstration.
Named after Arthur C. Clarke, who first described geostationary orbit in 1945. The Clarke Belt, the ring of satellites 35,786 km above the equator, is named in his honor.
Orbital Slots
Geostationary orbit sits exactly 35,786 km above the equator, the altitude at which a satellite's orbital period matches Earth's rotation. From the ground it appears stationary. The International Telecommunication Union manages this ring globally, allocating roughly 1,800 positions to member states who sublicense to private operators.
As of 2022, only 541 of those positions are occupied by active satellites. The ITU found that 45% of investigated satellite networks showed no proof of being brought into use, a practice known as slot squatting. The SES acquisition of Intelsat, valued at $3.1B, was substantially driven by Intelsat's orbital slot portfolio.
Source: Aerospace Corporation, "Orbital Slots for Everyone?" (2018).
Status definitions
Satellite confirmed operational. Verified against UCS database and operator disclosures.
ITU filing submitted and accepted but satellite not yet launched or operational.
Filing exists but slot appears underutilized or not actively serving its licensed coverage area.
Satellite decommissioned. Slot rights may still be held by the operator.
Frequency bands
Data Sources
All data in Clarke is derived from public sources. Sources marked Live are currently ingested; sources marked Planned are in the roadmap but not yet integrated.
Union of Concerned Scientists normalized catalog of active satellites, updated twice yearly. Clarke ingests the full dataset (590 GEO satellites from the May 2023 snapshot), providing operator attribution, orbital positions, launch dates, and purpose classifications for all tracked positions.
The FCC's official list of all space stations authorized to operate in or serve the United States. Clarke ingests 174 GEO authorizations covering call signs, licensed frequency bands, licensee names, administrations, and in-orbit dates from government records.
US Space Force catalog of tracked orbital objects with TLE updates. Clarke ingests the SATCAT and live TLE tables (run via npm run ingest:spacetrack) to provide real-time satellite positions for the orbital globe and as a cross-reference for validating UCS identifiers.
A curated registry of space-industry companies maintained in src/data/companies.ts, spanning 30+ sectors including GEO Operators, Launch, Lunar, Earth Observation, Robotics, ISRU, Habitation, and Space Insurance. Each entry includes sector, headquarters, founding year, and a profile describing the company's role in the broader space economy. Cross-referenced with the slot and stock layers via the agents API.
The canonical international registry for every coordinated orbital position and frequency assignment. Bulk data access requires an ITU BR IFIC subscription and arrives in Microsoft Access format. Integration will extend the registry from active satellites to the full universe of filed and coordinated positions.
Annual and quarterly filings from publicly traded satellite operators including SES, Viasat, Eutelsat, and Telesat. Integration will power the pricing layer by mapping disclosed transponder revenues and slot valuations to specific orbital positions.
Registry Methodology
The registry is built from the UCS Satellite Database, which provides a normalized record of active satellites including operator, owner country, orbital position, launch date, and purpose. Clarke ingests all 590 GEO satellites from the current snapshot, making each one queryable by position, operator, and purpose. The UCS data is the satellite layer: it tells Clarke what is physically operating at each position and who operates it.
FCC authorization records from the Approved Space Station List are ingested as a second layer on top of the UCS satellite data. For each GEO position, Clarke queries the FCC table for any authorization within 0.6 degrees of the nominal longitude. Where a match exists, the detail page for that position shows the FCC call sign, licensee name, authorized frequency bands, administration, and in-orbit date. Where no match exists, the position has no US FCC authorization, which is expected for satellites licensed under non-US administrations.
Multiple satellites operating at the same nominal longitude are grouped together using a tolerance of 0.4 degrees. This matches the standard ITU coordination practice where satellites in the same coordination filing cluster within fractions of a degree. The grouping ensures that the four SES Astra satellites at 19.2°E, for example, all appear together on a single position page rather than as four separate entries.
The congestion score for a position is computed by counting all active GEO satellites in the UCS database within 2 degrees on either side of that position's nominal longitude, covering a total arc of 4 degrees. This score is a proxy for arc commercial density and spectrum coordination pressure. The tiers are Sparse for scores of 1 to 2, Low for 3 to 5, Moderate for 6 to 10, High for 11 to 18, and Critical for 19 and above. The score reflects active operational satellites rather than filed positions, so it understates total coordination pressure in arcs with heavy squatting activity.
Data Quality
The satellite data ingested into Clarke comes from the UCS Satellite Database snapshot dated May 2023. Satellites launched, decommissioned, or repositioned after that date are not reflected. For operational GEO satellites that have occupied their positions for years, the data is reliable. For recently repositioned satellites or newly launched hardware, the position data may be stale by up to two years depending on when the next ingestion occurs.
The UCS database includes NORAD catalog numbers and COSPAR international designators for each satellite. These identifiers are stored in Clarke's database but are not displayed to users. A spot-check of nine satellites against independent Celestrak records found that five had incorrect NORAD IDs, with some pointing to entirely different satellites at different orbital positions and one pointing to decayed re-entry debris. The satellite names, operator names, and orbital positions were generally accurate in the same check. Identifiers will be surfaced once they have been validated against an authoritative source.
The 174 FCC authorizations in Clarke cover US-licensed operators and foreign operators with FCC-granted US market access. Satellites licensed entirely under non-US administrations, including most European, Russian, Chinese, and Asian operators, do not appear in FCC records and will show no authorization data on their position pages. This is a reflection of jurisdiction, not a gap in data collection.
Position status labels in the registry (Active, Filed, Squatted, Inactive) are derived from the UCS classification, which marks satellites as active based on reported operational status at the time of the snapshot. The UCS does not independently verify operational status in real time, and the labels may not reflect satellites that have been recently decommissioned or quietly taken offline since May 2023.
Methodology
Slot status is derived from UCS Satellite Database classifications, updated twice yearly. Satellite decommissions and new launches are reflected within the cadence of UCS updates, typically within six months of public announcement.
Orbital slot value estimates are derived from disclosed transaction prices in public M&A filings, bankruptcy proceedings (Intelsat 2020), and analyst reports from Northern Sky Research and Euroconsult. Ranges reflect meaningful uncertainty. These are not appraisals.
Lease yield estimates of 5-9% are based on publicly disclosed transponder lease rates in operator earnings reports and industry research. Actual yield depends on individual lease terms negotiated between the operator and their broadcast customers.
Nothing on Clarke constitutes investment advice. Value estimates, yield projections, and slot data are informational. The devnet tokenization features are a technical demonstration. Mainnet investment involves real financial risk.
How It Works
Submits an International Telecommunication Union-registered orbital slot. Clarke verifies the lease contract and creates an on-chain offering.
Buys tokens with SOL. Capital flows immediately to the operator treasury. Tokens represent a fractional claim on future transponder lease revenue.
Submits transponder lease revenue quarterly. The configured yield share accumulates in the offering account. Token holders claim their proportional share at any time.
Slot Tokens
Each listed slot has a dedicated yield token on Solana with its own ticker. The token represents a fractional claim on that slot's quarterly transponder lease revenue, recorded as an on-chain position in the Clarke program. These three tokens are currently deployed on Solana devnet as a technical proof of concept, not a live investment product.
19.2°E is the most valuable GEO slot in Europe. Home to Astra 1N, it serves Sky Deutschland, Sky UK, and 120M+ European homes. Each yield token entitles the holder to a proportional share of transponder lease revenue from this position.
28.2°E is the primary slot for Sky UK, serving 11M+ subscribers. Sky's entire UK broadcasting infrastructure depends on this position. Each yield token entitles the holder to a share of the transponder lease revenue SES collects from Sky and other Ku-band users at this longitude.
101°W is a premium North American orbital position serving major US cable operators and broadcasters. Originally operated by Satellites Mexicanos (SatMex), the slot is now held by SES following their 2014 acquisition (hence the ticker). C-band capacity supports legacy cable TV distribution across the continental United States. Each yield token entitles the holder to a share of lease revenue from C-band and Ku-band transponder usage.
Tickers follow the pattern $[OPERATOR/SATELLITE][LONGITUDE]. New slots added to Clarke will follow the same convention. The ticker, slot ID, and on-chain offering PDA are permanently linked at the time of listing and cannot be changed.
Fee Structure
Clarke charges fees to operators only. Investors receive yield net of the operator's yield share commitment. No fees are deducted from investor distributions.
Charged on the total capital raised when an operator's slot offering closes. A $10M raise generates $200K for Clarke. This is Clarke's primary revenue source in the early phase.
Charged on each yield distribution flowing through the platform. As listed slots and invested capital grow, this becomes recurring revenue compounding without additional sales effort. Ten slots distributing $5M/year in yield generates $250K/year for Clarke.
Legal Structure
Clarke does not tokenize orbital slots themselves. International Telecommunication Union filings cannot be transferred on-chain. What Clarke tokenizes is a Special Purpose Vehicle that holds the operator's contractual right to receive transponder lease revenue from a specific position. Token holders receive fractional economic rights to that revenue stream. This is identical in structure to real estate tokenization, where an LLC holding a lease is fractionalized rather than the land title itself.
The target jurisdiction for Clarke SPVs is the Cayman Islands. This jurisdiction offers neutral tax treatment, a mature legal framework for fund and SPV structures, no withholding on distributions to foreign investors, and established precedent across the RWA tokenization and crypto industries. Each slot would get a dedicated SPV with no cross-exposure to other offerings or the Clarke operating entity. Clarke is in the design phase. No SPVs have been formed.
The satellite operator retains full ownership of their International Telecommunication Union filing, their satellite, and all operational responsibilities. Listing on Clarke does not modify the filing, transfer the frequency license, or affect the operator's relationship with the national administration holding their coordination agreement. Clarke tokenizes only the revenue stream.
The SPV tokenization structure is used by Securitize (BlackRock BUIDL fund), RealT (real estate), Maple Finance (private credit), and Centrifuge (trade receivables). Clarke applies the same framework to orbital infrastructure.
On-Chain Program
The Clarke program is deployed on Solana devnet at 3KFUjEe…if57. Written in Rust using Anchor 0.29.
["authority"]["offering", slot_id]["position", investor, offering]Yield Accounting
Clarke uses the reward-per-token accumulator pattern, the same approach used by Synthetix, Uniswap v3, and most Solana staking programs. It distributes yield in O(1) regardless of how many investors hold tokens.
Each SlotOffering tracks yield_per_token_acc: a running total of yield-per-token distributed since the offering was created. When an operator deposits revenue, this increases by (holder_share / sold_tokens).
Each InvestorPosition records yield_debt: the value of yield_per_token_acc at the time tokens were last purchased or yield was last claimed. This represents yield the investor is not entitled to because it predates their position.
Claimable yield at any moment is: tokens x (yield_per_token_acc - yield_debt). Computed on-chain at claim time with no iteration over other positions.
The claim_yield instruction verifies the offering PDA retains enough lamports to remain rent-exempt after transfer. Yield can never drain the account below its minimum balance.
Agents API
Clarke exposes a read-only HTTP API and a Model Context Protocol server so autonomous agents and LLM-based assistants can query the registry without scraping HTML. The same operations layer backs both transports, so HTTP responses and MCP tool results stay in sync. No authentication is required; reads are public, rate-limited, and cached.
HTTP endpoints
Response shape
Every successful response is a JSON envelope with a versioned data field and a meta object containing the API version, generation timestamp, and (for list endpoints) the row count. Responses carry ETag and Cache-Control: public, s-maxage=300, stale-while-revalidate=60 headers; agents are expected to send If-None-Match for conditional requests.
{
"data": { ... },
"meta": {
"version": "1.0",
"generated_at": "2026-05-23T14:22:40Z",
"count": 590
}
}Rate limits and validation
60 requests per minute per IP, enforced in-memory per serverless instance. A 429 response includes a Retry-After header in seconds. There is no per-wallet limit in Phase 1 because no authentication is required.
All path slugs are validated against /^[a-z0-9-]+$/ and query parameters against per-field regex caps. Path traversal attempts and injection patterns return 400. Tickers are restricted to /^[A-Z0-9.-]{1,10}$/.
All routes allow cross-origin reads (Access-Control-Allow-Origin: *) with GET and OPTIONS only. Preflight responses cache for 24 hours.
Model Context Protocol (MCP) server
The same operations are exposed as MCP tools so Claude Code, Cursor, and any other MCP-compatible client can query Clarke in plain English. The server runs locally over stdio and reads directly from the SQLite database; no network round-trip to Clarke is involved beyond what the host process does on its own.
{
"mcpServers": {
"clarke": {
"command": "npm",
"args": ["run", "mcp", "--silent"],
"cwd": "/absolute/path/to/clarke"
}
}
}Available tools: clarke_list_slots, clarke_get_slot, clarke_list_satellites, clarke_list_companies, clarke_get_company, clarke_company_sectors, clarke_list_stocks.
Scope and roadmap
The current surface is read-only. Transaction-building endpoints, event streams, and on-chain capability tokens for metered access are on the roadmap but not implemented. Agents that want to invest, claim yield, or distribute revenue use the standard wallet adapter through the human-facing UI for now.