Documentation

JetCircle

A private jet is expensive because one person pays for the whole aircraft. JetCircle lets a group form around a route and a day, fill the cabin together, and charter the jet as one, so each person pays for a place, not the plane.

Broker, not an operatorPlace held only on paymentPre-flight cabin communityNaira-first, FlutterwaveNIN-verified passengers

No section matches that. Clear the search to see everything.

What JetCircle is

The one-paragraph version, and why it is built the way it is.

JetCircle is a mobile app and operations desk for group private-jet charter in Nigeria. A member asks for a specific aircraft on a specific route and day; other members join that group and take places; once enough places are paid for, the whole aircraft is chartered under one contract with a licensed operator, and the group flies together. The price each person sees is simply the operator's charter price divided by the number of places, with JetCircle's fee disclosed on top.

Three commitments shape every part of the product:

A broker, never the operator

JetCircle arranges the charter and never owns, leases, or flies aircraft. A licensed AOC holder operates the flight and carries the passengers. This keeps capital out of airframes and keeps the regulatory posture clean.

A place is held only when money lands

Taking a place reserves nothing. The place is secured when the transfer arrives, whoever pays first flies. This removes the “phantom hold” problem where unpaid seats block a group from filling.

The cabin is a community

Every group has a private cabin: a group chat, polls, and decisions (return time, whether to wait, how to cover a shortfall). People choose a group for who is in it, not only where it goes.

Who it is for

Nigerian business travellers and families on routes where a commercial option is painful or absent, Lagos–Abuja for a same-day meeting, Lagos–Enugu for a wedding, London–Lagos for a “Detty December” homecoming. The group-split turns a private cabin from a sole-charter luxury into a per-place decision.

How it works

From opening the app to wheels-up, end to end.

Verify once

A member confirms their identity with their National Identity Number (NIN). The number is checked against the name on the profile and then discarded, only the pass is kept.

Find or start a group

Browse public groups, or start one: pick the route, the aircraft, the day, and how the cost is split. JetCircle’s own groups are shown first and marked, so members can tell them from member-opened ones.

Take a place

Taking a place creates a claim and a dedicated account to pay into. Nothing is reserved yet, the place is held only once the money arrives.

Pay into the group’s account

Each place gets a real bank account (via Flutterwave) expecting the exact amount. The transfer is matched automatically and the place flips to paid; the member never needs anyone’s word for it.

The group fills before the cut-off

The cut-off is set by whoever opens the group, at least three days before departure, so there is room to confirm. Members watch the cabin fill. If it falls short, those aboard are asked to cover the rest or take a full refund.

The charter is signed, and you fly

Once the aircraft is paid for, the desk signs the charter with the operator. Passengers name their guests, clear the manifest, and carry a boarding pass to the terminal.

Key terms

The vocabulary used across the app, the desk, and these docs.

TermMeaning
GroupA flight forming around one route, aircraft, and day. Members take places in it.
PlaceOne seat’s share of the whole aircraft. A member may hold more than one (bringing guests).
FounderThe member who opened the group. Pays first, may take a small discount, and their name is on the listing.
Cut-offSet by whoever opens the group, at least three days before departure, the deadline for the aircraft to be fully paid for, leaving time to quote and confirm.
The cabinA group’s private space: chat, polls, and binding decisions.
The deskJetCircle operations, the web admin where staff quote operators, reconcile money, and run flights.
Payment IDThe unique reference carried by every group payment, so a bank credit ties to exactly one place.
Drop-and-waitA same-day return where the jet waits on the ground and brings everyone home; the wait is a shared, metered cost.

Groups & places

How a flight forms, fills, and closes.

Starting a group

A member opens a group in a short guided flow: choose the route (Lagos to one of a dozen Nigerian cities, or an inbound homecoming), pick the aircraft, pick the day and departure time, and decide whether it is a one-way or a same-day return. Nothing is priced yet, the group lands as a draft with the model’s estimate attached, and the desk comes back with the operator’s real price, usually the same day.

Splitting the cost

The founder chooses how the cost divides:

  • Evenly, the whole aircraft divided by its places. The default, and the only one shown publicly.
  • Different amounts, named shares that must add up to the aircraft. A private arrangement, so it is invite-only.
  • I pay for everyone, a host buys the whole aircraft and gives places away; guests pay nothing.

Taking and securing a place

Capacity is measured in paid places, not claims. A member can take a place while others are mid-transfer, and whoever pays first secures it. If every place is paid for before a transfer lands, the late payment is refunded and nothing leaves that member’s account for a seat they could not get.

Why hold on payment, not on intent?

Reserving a place on a tap lets a handful of uncommitted members freeze an aircraft that could otherwise fill. Tying the hold to real money keeps groups honest and moving, and means a founder never waits on someone who was never going to pay.

The cut-off and short groups

The cut-off is set by whoever opens the group, at least three days before departure. If the aircraft is fully paid by then, the desk signs the charter. If it is short, the group enters a rescue window: those aboard can top up to cover the rest, or the group is cancelled and every naira is refunded to the account it came from.

Private groups

Invite-only flights for friends, family, and selected people.

When a group is created, the founder chooses Public or Private. A private group is never listed anywhere and cannot be browsed. It opens with a code the founder shares, a link sent to exactly the people they want aboard.

Off the public browse

Private groups don’t appear in Discover or any public listing. They are visible only to the founder, people already aboard, and the desk.

Code is the permission

Anyone holding the invite link can take a place; without it, joining is refused. Opening a shared link lands the invited person on a screen that resolves the group and lets them join.

Founder control

The founder shares the link with chosen people and can regenerate the code to revoke old links. Uneven splits are always private by nature.

Technically, a private group carries visibility: invite and a unique invite_code. Because row-level security hides the group until a member is aboard, a dedicated service resolves the code and returns just that one group so an invited person can see what they are joining before taking a place.

The fleet

The aircraft classes JetCircle groups charter, drawn from the types most used in Nigeria.

ClassExamplePlacesBest for
TurbopropKing Air 3508Short domestic hops, Lagos–Abuja, Lagos–Accra, at a per-place price near commercial fares.
Light jetPhenom 3006Fast point-to-point within Nigeria and the near region.
MidsizeHawker 800XP8Longer domestic legs with stand-up cabin comfort.
Super-midsizeChallenger 3508Regional range with a full cabin, the workhorse of the fleet.
Heavy / ultra-longGulfstream G550 · Global 600012–14London–Lagos and Lagos–Dubai homecoming and intercontinental groups.

The aircraft chosen sets the price and the number of places, so the founder sees the per-place figure and the whole-aircraft figure the moment they pick one.

The cabin

The community layer, and how a group makes decisions together.

Every group has a cabin: a private group chat opened to members with a paid place. It carries ordinary messages, reactions, pinned notes, and two structured tools:

Polls

Any member, or the desk, can ask the cabin a question with a set of options. A quick read of the room: catering, a meeting point, a preferred time.

Decisions

A poll that carries a quorum and a consequence the desk enacts: what time to fly back, whether to hold the jet longer, how to cover a shortfall, or accepting a change to the flight.

The desk sees the cabin read-only, enough to support and moderate, and can post a poll or a decision into it, but never reads private direct messages between two members. A group chat the charter convenes is one thing; a private message between two people is another.

Manifest & identity

Who is actually flying, and how that is established.

Before a flight, the operator needs a manifest: every passenger named, verified, and declared. JetCircle collects this per place:

  • Identity, the lead passenger is NIN-verified; guests are named and verified before departure.
  • Declaration, each passenger signs their own declaration; one passenger’s conduct or documents are their own responsibility, not the group’s.
  • Bags, baggage is declared per passenger, because a jet’s hold and weight are finite.
  • Seat maps, the cabin’s seats are laid out so the group can arrange who sits where.
  • Catering, meals, drinks, and dietary needs are gathered per place for the operator.

Identity provider

NIN verification runs through an accredited Nigerian KYC provider (Dojah). The flow fails closed, if the provider cannot be reached or the name does not match, nobody is marked verified, and the NIN itself is never stored.

Drop-and-wait returns

Same-day round trips, with the ground wait shared fairly.

Many trips are there-and-back in a day: fly to a meeting or an event, and come home that evening. In a drop-and-wait return the aircraft waits on the ground and brings everyone home the same day. The waiting has a real cost, the operator’s hourly rate, so JetCircle meters it:

  1. The cabin agrees how long to hold the jet. The desk sets that cap.
  2. The billable ground hours are divided evenly among the passengers flying home, at the operator’s own rate, with no fee on the wait.
  3. After the flight, the desk enters the hours the jet actually waited. The pot settles: whatever the cap over-funded comes back in proportion; any overrun is collected openly.

Only the people on the return leg share the wait. A passenger who flies out but not back pays nothing toward it.

Payments

How money moves, and how it is tracked.

Payments run on Flutterwave virtual accounts. When a member takes a place, JetCircle mints a real, temporary bank account (a NUBAN) that expects the exact place price. The member transfers to it from their own bank app; Flutterwave confirms the credit through a signed webhook, and the place flips to paid automatically.

Account per place

Each claim gets its own account and a unique Payment ID, so money reconciles itself and nothing sits in a general pot.

Confirmed by the provider

A member’s tap never confirms a place. A verified credit does: the webhook re-checks the transaction against Flutterwave before marking anything paid.

Reconciled on the desk

Every payment appears in the desk’s payments view with its Payment ID. Anything the bank can’t tie to a place, a short payment, the wrong account, a late one, goes to a reconciliation queue for a person to resolve.

Money is held, not spent

Members’ money is refundable until the charter is signed. It is kept apart from JetCircle’s own funds and pays for nothing else; if a group never flies, every naira goes back to the account it came from.

Pricing & fees

Built in the open, and disclosed.

The price a member sees is simple arithmetic:

LineWhat it is
Charter priceWhat the licensed operator quotes for the whole aircraft on this leg.
JetCircle feeA disclosed percentage over the real quote, itemised, never hidden inside the charter price.
Whole aircraftCharter price + fee. This is the total the group covers together.
Each placeWhole aircraft ÷ the group’s agreed split. What one member pays.

A worked example: a Lagos→Abuja whole aircraft at ₦15,600,000 across 8 places is ₦1,950,000 a place. The founder may take a small discount for going first and carrying the obligation to pay first; the rest of the group carries that, so the listed per-place figure is what every other place pays.

Naira first, dollars managed

Prices are shown and collected in naira, as the law requires. Operators are often paid in dollars, so JetCircle carries the currency exposure with a managed FX rate and a floor, rather than passing raw volatility to members.

Refunds & the wallet

What a member can see about their own money.

The app carries a wallet view: what is on hold (paid, refundable until the charter signs), what is awaiting a transfer, what is confirmed toward a flight that is going ahead, and what has been refunded. Refunds are first-class:

  • A cancelled group refunds every paid place in full, to the account the money came from.
  • An overpayment, or a transfer that cannot be matched, is sent back.
  • A refund counts as owed until the money is actually in the member’s account, “sent” is a step, not an end.

Model & market

Why this works as a business, not only as a product.

The problem

Private charter in Nigeria is sold by the whole aircraft, so it is priced for the few. Commercial options on key routes are thin, unreliable, or absent. Meanwhile there is a large, under-served band of travellers, executives, event parties, diaspora families, who would pay a per-place premium for certainty and comfort but will not charter a whole jet alone.

The solution

Aggregate demand into groups and charter the whole aircraft on their behalf. The group-split turns a sole-charter price into a per-place decision, and the cabin community is the retention loop that a pure booking tool lacks.

How JetCircle makes money

Disclosed charter fee

A transparent margin over the operator’s quote on every flight that signs, the core revenue line.

Asset-light

No airframes, no crew, no deposits at risk. Overheads stay light and capital stays out of aircraft, the opposite of the operator models that have failed.

Repeat & referral

The cabin and invite links turn one founder into a recurring group, and private groups bring their own circles.

Why a broker, not an operator

The industry is a graveyard of operator and prepaid-deposit models that died on the capital intensity of owning or controlling a fleet. The valuable asset is the brand and the demand, not the aircraft. As a broker, JetCircle keeps two or three operator partners per aircraft class, which also hedges single-supplier and enforcement risk.

Operations

The desk, and the day-to-day of running flights.

JetCircle operations run from a web admin, “the desk”. One operator, at a laptop, working a queue while an operator partner is on the phone. The desk:

  • Quotes operators against each group’s request and publishes the real price.
  • Reconciles money in and money out, with every payment carrying a Payment ID.
  • Confirms charters once an aircraft is paid for, and cancels-and-refunds when a group falls short.
  • Opens groups for customers who ring up rather than use the app, in the customer’s own name.
  • Runs the drop-and-wait pot and settles it after the flight.
  • Supports and moderates cabins, and can put a question to a cabin.

Operator partnerships are formalised with heads of terms, and ground operations, terminals, slots, manifests, are handled per flight. A risk and incident playbook covers the cases that need a human immediately.

Technology

How the product is built.

SurfaceStackRole
Mobile appExpo / React Native, TypeScript, ZustandWhat members use: discover, join, pay, the cabin, the wallet, boarding pass.
The deskVite + React, TypeScriptOperations admin: quoting, reconciliation, flights, cabins.
Marketing siteAstro (static)jetcircle.app, the public front door.
BackendSupabase, Postgres, RLS, Deno edge functionsData, auth, row-level security, and the server-side rules.
PaymentsFlutterwave virtual accounts + webhookCollection, confirmation, reconciliation.
IdentityDojah (NIN)Passenger verification, fail-closed.

Domain purity

The rules that decide money and places, pricing, the split, capacity, reconciliation, live in one pure domain layer, copied verbatim to the app, the desk, and the server. The phone greys out a button as a courtesy; the server makes the same decision as the authority, from the same code. A reference the phone shows and a reference the server expects are the same string, computed the same way, or the money goes to the exceptions queue.

Security

  • Row-level security governs what a member can read; private groups are hidden until a member is aboard.
  • Verification flags live on columns a member cannot set, a trigger refuses it, because passing a check is something the provider says, not something the phone claims.
  • The payments webhook is hash-guarded and re-verifies every credit before it marks a place paid.
  • Sensitive identifiers are verified and discarded, never stored.

The desk (admin)

What operations can see and do.

Board

The money at a glance, members’ money held, owed back, fees earned, committed to operators, plus what needs a decision now.

Groups

Every flight, not only the ones shouting. Create a group (public or private), quote it, confirm, extend, change, or cancel-and-refund. See paid vs pending places and the manifest.

Payments

Two views: a reconcile worklist for exceptions, and an All payments ledger of every paid place with its Payment ID and the total received.

Cabin

Read the room and post a poll or decision into any cabin, without touching private messages.

Customers

Who has flown, who is verified, and their standing, without ever holding their identity documents.

Whole-jet

Sole-charter requests for members who want the entire aircraft to themselves.

Investor summary

The short case.

JetCircle is an asset-light, group-charter broker for an under-served, high-value travel market. It monetises a disclosed fee on every flight, retains through a cabin community and invite-led growth, and avoids the capital intensity that has sunk operator and prepaid models.

Market

Nigerian private and premium travel on routes where commercial service is thin, plus a large diaspora homecoming flow (London, Dubai) priced for groups.

Unit economics

Revenue is a transparent margin per signed charter; costs are software, the desk, and payment/KYC fees. No aircraft on the balance sheet.

Moat

The cabin community and private-group invite loops compound; operator partnerships across classes secure supply and hedge enforcement risk.

Use of funds

Operator partnerships, the desk and operations team, payments/KYC, and demand generation on the flagship routes.

Risks & mitigations

Supply concentration is hedged with multiple operators per class and international lift. Regulatory and enforcement risk is met by the clean broker posture and naira-first pricing. Seasonality (December and summer peaks) is managed by locking partner rates early.

Roadmap

Shipped, and what is next.

Shipped

  • Group creation (even / shares / host), places held on payment, cut-off and rescue.
  • Private, invite-only groups with shareable codes.
  • The cabin, chat, polls, decisions, and desk-posted polls.
  • Manifest, NIN verification (Dojah), guests, bags, seat maps, catering.
  • Drop-and-wait returns with a metered, settled pot.
  • Flutterwave virtual-account payments with per-payment IDs and reconciliation.
  • The wallet, boarding pass, and the operations desk.

Next

  • Selfie / liveness identity matching for safety-grade verification.
  • Deeper operator integrations and live availability.
  • More routes, and scheduled recurring group flights.

FAQ

The questions members and partners ask most.

Does JetCircle own the planes?

No. JetCircle is a broker. Every flight is operated by a licensed AOC holder that carries the passengers; JetCircle arranges the charter and the group.

When is my place actually secured?

When your transfer arrives. Taking a place reserves nothing, a place is held only once the money lands, and whoever pays first flies.

What happens if the group doesn’t fill?

Those aboard are asked to cover the rest before the cut-off. If they don’t, the group is cancelled and every paid place is refunded in full, to the account it came from.

How do I pay?

Each place gets a dedicated bank account via Flutterwave, expecting the exact amount. You transfer from your own bank app; the payment is confirmed automatically.

Can I keep a group just for people I know?

Yes, make it private. A private group is never listed and opens only with the invite link you share. You control who gets the link.

What do you do with my NIN?

It is checked against the name on your profile through an accredited provider and then discarded. Only the pass is kept; the number is never stored.

Are the fees hidden in the charter price?

No. You see the whole-aircraft price and what each place pays. JetCircle’s fee is disclosed, not buried in the operator’s quote.

JetCircle, group private-jet charter, Nigeria. This documentation is an overview of the product, the business, and how the system is built. Figures such as example prices are illustrative.