📡 ISP Guide
Complete Guide · March 2026

Become a White-Label ISP Reseller in the UK

No infrastructure. No hardware. Just your brand on top of wholesale broadband. Everything you need — from company formation to your first paying customer.

£0
Startup Cost (Pre-launch)
0%
Typical Gross Margin
0 wks
Time to First Customer
1

Overview

What is White-Label ISP Reselling?

The Business Model

White-label ISP reselling means you purchase wholesale broadband connectivity from a wholesale aggregator and resell it under your own brand. You are the ISP as far as the customer is concerned — your brand, your billing, your support — but the underlying network infrastructure belongs to Openreach (BT), CityFibre, or other network operators, accessed through your wholesale partner.

The Value Chain

Diagram
Network Operator (Openreach/CityFibre/VMO2)
        ↓
Wholesale Aggregator (ICUK, Gamma, Entanet, etc.)
        ↓
You (White-Label ISP / "Communications Provider")
        ↓
End Customer (Residential or Business)

Why This Model Works

Zero infrastructure investment

No exchanges, no fibre, no hardware

Low barrier to entry

Start with as few as 1 line in some cases

Scalable

Grow from 10 to 10,000 customers without changing your stack

Proven margins

Typical gross margins of 30-60% on broadband services

Bundling opportunities

Add VoIP, hosting, security, and more

Key Terminology

TermMeaning
CPCommunications Provider — what Ofcom calls you
GEAGeneric Ethernet Access — Openreach's FTTC/FTTP product
FTTCFibre to the Cabinet — part fibre, part copper (up to ~80Mbps)
FTTPFibre to the Premises — full fibre (up to 1Gbps+)
WLRWholesale Line Rental — traditional phone line (being phased out)
SOGEASingle Order GEA — broadband without a phone line
SoGFastSingle Order G.fast — enhanced FTTC (up to ~330Mbps)
EMPEquivalence Management Platform — Openreach's ordering system
CLICalling Line Identification — the phone number
ADRAlternative Dispute Resolution
RADIUSRemote Authentication Dial-In User Service
2

Wholesale Partners

Wholesale Aggregators Compared

A wholesale aggregator sits between you and the network operators (Openreach, CityFibre, etc.). They handle the complex network integration, provide APIs for provisioning, and give you access to products you'd otherwise need massive minimum commitments to access directly.

2.1

ICUK (now part of Wavenet)

icuk.net · Best for startups

Target MarketIT resellers, MSPs, white-label ISPs
ProductsFTTC, FTTP, SOGEA, SoGFast, Leased Lines, VoIP, Hosting, Domains, Mobile
Network AccessOpenreach, CityFibre, Virtual1
Min. CommitmentNo minimum line counts; pay as you go
APIFull REST API for provisioning, monitoring, billing data
PortalComprehensive partner portal with real-time line stats
White-LabelFully white-label — end customer never sees ICUK
BillingMonthly in arrears; no setup fees on most products
SupportUK-based, 24/7 NOC, dedicated account managers
FTTP Cost~£16-22/month wholesale for 80/20 FTTP
FTTC Cost~£12-16/month wholesale for 40/10 or 80/20 FTTC
StrengthsExcellent API, low barrier to entry, broad product range
WeaknessesPricing slightly higher than going direct (you're paying for convenience)

Why Choose ICUK

  • Best-in-class API for automation
  • No minimum commitments — start with 1 line
  • Ideal for MSPs adding broadband to existing services
  • Strong white-label proposition
2.2

Gamma (formerly Daisy Wholesale)

gamma.co.uk · Best for mid-to-large partners

Target MarketChannel partners, larger resellers
ProductsFTTC, FTTP, SOGEA, SoGFast, Ethernet, SIP, UCaaS, Mobile
Network AccessOpenreach, own network infrastructure
Min. CommitmentTypically requires partner agreement; volume-based pricing
APIGamma API platform for provisioning and management
White-LabelFull white-label on connectivity; Horizon UCaaS is white-labelable
SupportUK-based, dedicated partner support
FTTP Cost~£15-20/month wholesale (volume-dependent)
StrengthsLarge, established, financially stable, broad product portfolio
WeaknessesMore suited to medium/large partners; onboarding can be slower

Why Choose Gamma

  • Single vendor for voice + data + mobile
  • Strong financials and stability
  • Good for medium-to-large operations
  • Excellent UCaaS (Horizon) white-label
2.3

TalkTalk Wholesale Services (TTWS)

talktalkwholesaleservices.co.uk · Best for volume

Target MarketISPs, larger CPs
ProductsFTTC, FTTP, SOGEA, Ethernet via Openreach
Min. CommitmentHigher minimums; typically 500+ lines to get good pricing
APIAvailable but more traditional (SOAP/XML in some cases)
White-LabelYes, but more suited to established ISPs
SupportUK-based but mixed reviews on responsiveness
FTTP Cost~£13-18/month wholesale (volume-dependent)
StrengthsCompetitive pricing at volume, established infrastructure
WeaknessesHigher entry barrier, less flexible for small operators

Note

Best pricing at volume (500+ lines). Less ideal for startups due to minimums.

2.4

Entanet (part of CityFibre group)

enta.net · Best for CityFibre areas

Target MarketIT resellers, ISP startups, MSPs
ProductsFTTC, FTTP, SOGEA, Ethernet, CityFibre FTTP
Network AccessOpenreach + CityFibre (major advantage)
Min. CommitmentLow minimums; partner-friendly
APIREST API for provisioning
White-LabelFull white-label
FTTP Cost~£15-20/month Openreach; CityFibre pricing varies by area
StrengthsCityFibre access is a big differentiator; partner-friendly
WeaknessesSmaller company, narrower product range than Gamma

Why Choose Entanet

  • Access to CityFibre's FTTP network (alternative to Openreach)
  • Good for areas where CityFibre is deployed
  • Partner-friendly approach
2.5

Zen Internet (Wholesale)

zen.co.uk/wholesale · Award-winning support

Target MarketISP resellers, businesses
ProductsFTTC, FTTP, SOGEA, Ethernet
Network AccessOpenreach
Min. CommitmentModerate; volume-based pricing
StrengthsExcellent network quality, award-winning support
WeaknessesPremium pricing, less focused on white-label market
2.6

Virtual1

virtual1.com · Strong on Ethernet

Target MarketChannel partners
ProductsEthernet, FTTP, SD-WAN, Cloud Connect
Network AccessOwn national network + Openreach
API1Portal API
StrengthsOwn network backbone, strong on Ethernet/leased lines
WeaknessesLess focused on mass-market broadband
2.7

Glide / ITS Technology Group

glide.co.uk · MDU / Student niche

Target MarketStudent accommodation, MDU, commercial property
ProductsManaged broadband, FTTP, WiFi
StrengthsNiche in multi-dwelling units
WeaknessesNiche focus may not suit general ISP resellers

Aggregator Comparison Summary

FeatureICUKGammaTTWSEntanetZen
Min. Lines0~50+~500+LowModerate
API Quality★★★★★★★★★★★★★★★★★★★
FTTP Pricing£16-22£15-20£13-18£15-20£18-24
CityFibreVia partnersNoNo★★★★★No
VoIP/SIP★★★★★★★★★★★★★★★★★★
Ease of Start★★★★★★★★★★★★★★★★★
White-Label★★★★★★★★★★★★★★★★★★★
Support★★★★★★★★★★★★★★★★★★★★★

Recommendation for Startups

Start with ICUK if you're a new entrant: zero minimum commitment, best API for automation, full white-label from day one, broad product range to grow into. You can always add a second wholesaler later for redundancy or pricing.

Consider Entanet if your target area has CityFibre coverage — it's a real differentiator.

Move to TTWS once you hit 500+ lines for better unit economics.

3

Process

From Company Formation to First Customer

A phased, 12-week roadmap to get you from zero to live ISP.

Phase 1

Legal Foundation — Weeks 1-2

1

Register a UK Limited Company

Info
Companies House: https://www.gov.uk/set-up-limited-company
Cost: £12 (online) / £30 (paper)
Time: Usually same day (online)

SIC Code to use: 61.10 — Wired telecommunications activities
Additional: 61.90 — Other telecommunications activities

Requirements:

  • Company name (check availability at Companies House)
  • Registered office address (can be your home)
  • At least 1 director (16+ years old, doesn't need to be UK resident)
  • At least 1 shareholder
  • Memorandum and Articles of Association (model articles are fine to start)
  • Confirmation Statement (annually, £13)
2

Register for Corporation Tax

Must be done within 3 months of starting to trade. Done via HMRC: gov.uk

3

Open a Business Bank Account

Starling, Tide, or Mettle for quick setup. Traditional banks (NatWest, Barclays) take longer but may be needed for credit.

4

Register for VAT (if applicable)

Mandatory if turnover exceeds £90,000/year (2024/25 threshold). Can register voluntarily — useful to reclaim VAT on wholesale costs.

Recommended: Register voluntarily from day one if selling B2B

5

Get Business Insurance

  • Professional Indemnity — essential (covers errors in service)
  • Public Liability — recommended
  • Cyber Liability — recommended for any tech business
  • Typical cost: £300-800/year for a small CP
Phase 2

Regulatory Setup — Weeks 2-4

6

Notify Ofcom

You must notify Ofcom before providing electronic communications services. This is a notification, not a licence — you don't need permission, just to tell them. See Section 4 for detailed process.

7

Register with an ADR Scheme

Mandatory for residential customers. Choose between Ombudsman Services: Communications or CISAS. See Section 5 for detailed process.

8

Register with the ICO (Data Protection)

Info
Information Commissioner's Office: https://ico.org.uk/registration
Cost: £40/year (micro organisation) or £60/year (small)
Time: Immediate online

Required because you'll process customer personal data.

Phase 3

Wholesale Partner Setup — Weeks 3-6

9

Apply to a Wholesale Aggregator

For ICUK (recommended for startups):

  1. Visit icuk.net and apply for a partner account
  2. Complete the application form (company details, expected volumes)
  3. Provide proof of company registration
  4. Sign the partner agreement
  5. Account typically activated within 3-5 working days
  6. Access granted to partner portal and API credentials

What they'll want to know:

  • Your company details and registration number
  • Expected monthly line volumes
  • Target market (residential/business)
  • Technical capability
  • Existing customer base (if any)
10

Test the Wholesale API

  1. Get API credentials from the partner portal
  2. Test line availability checks (address search → service availability)
  3. Test order placement in sandbox/test environment
  4. Understand the provisioning workflow
Phase 4

Technical Setup — Weeks 4-8

11

Set Up Billing System

Choose and configure: Splynx (recommended, purpose-built for ISPs), WHMCS (if you're already a web host), or Platypus Billing (UK ISP-specific). See Section 7.

12

Set Up RADIUS (if needed)

For most white-label operations with an aggregator, RADIUS is handled by the wholesaler. You may not need your own RADIUS server unless you want granular control. See Section 8.

13

Build Your Customer Portal

Options: billing system's built-in portal, custom-built, or white-label from wholesaler. See Section 9.

14

Set Up Your Website

Essential pages:

  • Home / landing page
  • Broadband packages and pricing
  • Coverage checker (integrate wholesaler's API)
  • Order form
  • Support / contact
  • Legal pages (T&Cs, privacy policy, complaints procedure)
Phase 5

Legal & Compliance — Weeks 6-8

15

Prepare Legal Documents

Terms and Conditions, Privacy Policy, Acceptable Use Policy, Complaints Code of Practice, Price transparency documentation. See Section 12.

16

Set Up Complaints Handling

  • Documented complaints procedure
  • 8-week resolution timeline (or deadlock letter)
  • ADR referral process
Phase 6

Go Live — Weeks 8-12

17

Place Test Orders

Order broadband to your own premises or a friend's. Test the full provisioning flow, billing cycle, and support processes.

18

Soft Launch

Invite friends/family to be early customers. Iron out processes. Get feedback on the customer experience.

19

Marketing Launch

Website goes live, local marketing, Google Ads for coverage area, social media presence. See Section 13.

Timeline Summary

Timeline
Week 1-2:   Company formation, bank account, insurance
Week 2-4:   Ofcom notification, ADR registration, ICO registration
Week 3-6:   Wholesale partner application and onboarding
Week 4-8:   Billing system, portal, website development
Week 6-8:   Legal documents, compliance setup
Week 8-10:  Test orders, soft launch
Week 10-12: Marketing launch, first real customers
4

Regulatory

Ofcom Notification Process

Under the Communications Act 2003 (Section 33), anyone providing an Electronic Communications Network (ECN) or Electronic Communications Service (ECS) in the UK must notify Ofcom. As a broadband reseller, you're providing an ECS. This is a notification, not a licence application. Ofcom cannot refuse you — they just need to know you exist.

Step-by-Step Process

1

Prepare Your Information

  • Company name and registration number
  • Trading name(s) if different
  • Registered address
  • Contact person details
  • Description of services you intend to provide
  • Expected start date
  • Whether you'll serve residential, business, or both
2

Complete the Notification Form

Go to Ofcom's website and download or access the General Conditions Notification Form.

Key sections: Type of provider: ECS · Services: Internet access service · Geographic scope: United Kingdom

3

Submit the Notification

Submit via Ofcom's online portal or by email. There is no fee for notification. Ofcom will acknowledge receipt.

4

Await Confirmation

Ofcom typically processes within a few days to 2 weeks. You'll receive confirmation and be added to Ofcom's register of CPs.

General Conditions That Apply to You

Once notified, you're subject to Ofcom's General Conditions of Entitlement (GCs):

GCTopicWhat It Means
A1Network Functioning & IntegrityEnsure your service works properly
A3Availability of ServicesEmergency call access (if providing voice)
B1Publishing Info & TransparencyPublish T&Cs, pricing, complaints procedure
B3Metering & BillingAccurate billing
C1Contract RequirementsCompliant customer contracts
C5Complaints Handling & Dispute ResolutionADR membership, complaints code
C7Switching & PortingOne Touch Switch compliance

Important: One Touch Switch (OTS)

Since April 2023, Ofcom requires all broadband providers to support the One Touch Switch process. Customers can switch by contacting only the gaining provider. You must respond to OTS requests within defined timeframes. Your wholesale aggregator typically handles the technical side of OTS.

Ongoing Obligations

  • Annual notification: Confirm your details are still current
  • Material changes: Notify Ofcom of significant changes
  • Ofcom data requests: Respond to information requests from Ofcom
  • Administrative charges: Ofcom levies annual charges on CPs to fund regulation (typically based on qualifying revenue — very small for new CPs)
5

Compliance

ADR Scheme Registration

Alternative Dispute Resolution is a mandatory scheme that gives customers an independent route to resolve complaints. Under GC C5, all CPs serving residential or small business customers must be a member of an approved ADR scheme.

Approved Schemes

Ombudsman Services: Communications

Annual Fee£100-400/year
Per-Case Fee~£300-500
ProcessInvestigates complaint
Timeline6-8 weeks

How ADR Works in Practice

Flow
Customer complains to you
        ↓
You have 8 weeks to resolve
        ↓
If unresolved after 8 weeks (or you issue a "deadlock letter"):
        ↓
Customer can refer to ADR scheme
        ↓
ADR scheme investigates/adjudicates
        ↓
Binding decision (if customer accepts)

Pro Tips

  • Resolve complaints quickly — ADR cases cost you £300-500 each regardless of outcome
  • Issue deadlock letters if you genuinely can't resolve — better than dragging it out
  • Keep records of all complaint correspondence
  • Most new ISPs have very few ADR cases — if you provide decent service, you might never get one
6

Networking

RIPE NCC Membership — Do You Need It?

Short Answer: No, not for white-label reselling.

When you're reselling via a wholesale aggregator, they provide the IP addresses from their own RIPE blocks. You don't need your own AS number, IP address blocks, or BGP routing.

When Would You Need RIPE Membership?

  • Operating your own network infrastructure
  • Peering at Internet exchanges
  • Running your own BGP routing
  • Needing provider-independent (PI) IP address space
  • Building a "real" network (not white-label reselling)

RIPE NCC Membership Costs (For Reference)

ItemCost
Sign-up fee€1,000 (one-time)
Annual fee€1,400/year (standard member)
IP allocationIncluded with membership (but IPv4 waiting list is years long)

What Your Aggregator Provides Instead

  • Dynamic public IPv4 — one per customer connection (standard)
  • Static IPv4 — available as an add-on (£2-5/month per IP)
  • IPv6 — increasingly available, /48 or /56 per customer
  • /29 blocks — for business customers needing multiple IPs

Don't worry about RIPE NCC for now. Completely unnecessary for white-label reselling. Revisit only if you eventually build your own network infrastructure.

7

Operations

Billing Systems Comparison

Your billing system needs to handle recurring subscriptions, pro-rata billing, VAT-compliant invoicing, Direct Debit collection, CRM, service provisioning, and financial reporting.

WHMCS

whmcs.com · Web hosting billing (adaptable)

PricingFrom $15.95/month
RADIUSVia third-party modules
CRMBasic, built-in
TicketingBuilt-in
Customer PortalIncluded
Payment Gateways100+ supported
DeploymentSelf-hosted (PHP/MySQL)

Best for: Companies already using WHMCS for hosting.

Platypus Billing

platypus.co.uk · UK ISP-specific

PricingCustom (contact for quote)
RADIUSIntegration available
UK Compliance★★★★★
Direct DebitNative GoCardless
DeploymentCloud (SaaS)

Best for: UK-specific ISP operations wanting a managed solution.

Sonar

sonar.software · ISP management platform

PricingFrom ~$1/sub/month
RADIUSBuilt-in
APIGraphQL
CRMComprehensive
DeploymentCloud (SaaS)

Best for: Modern, full-featured option. US-focused, may need UK customisation.

Billing System Comparison Summary

FeatureSplynxWHMCSPlatypusUCRM/UISPSonar
ISP-Specific★★★★★★★★★★★★★★★★★★★★★
UK Compliance★★★★★★★★★★★★★★★
RADIUS Built-in★★★★★★★★★★★★★★★★
Ease of Setup★★★★★★★★★★★★★★★★★★
Cost (Small)~£50/mo~£13/moCustomFree-£20/mo~£50/mo
Direct DebitGoCardlessGoCardlessGoCardlessGoCardlessStripe/GC
API Quality★★★★★★★★★★★★★★★★★★★

Recommendation

Splynx is the best all-round choice: purpose-built for ISPs, built-in RADIUS, ticketing, customer portal, scales well, ~£50/month starting cost.

Alternative: If budget is ultra-tight, start with WHMCS (£13/month) + manual processes, then migrate to Splynx at ~50 customers.

Direct Debit Setup (GoCardless)

Nearly all UK ISPs collect via Direct Debit. GoCardless is the standard:

Info
GoCardless: https://gocardless.com
Fee: 1% + £0.20 per transaction (capped at £4)
Setup: Free
Integration: All major billing systems support GoCardless
8

Technical

RADIUS Setup Requirements

Do You Actually Need RADIUS?

For most white-label ISP operations: No, your wholesaler handles this. The customer's router connects via PPPoE/IPoE → wholesaler's RADIUS authenticates → IP assigned → session logged → usage data available to you via API.

When You WOULD Need Your Own RADIUS

  • Custom authentication policies (bandwidth limiting, usage caps)
  • Detailed session logging beyond what the wholesaler provides
  • Prepaid/quota-based billing
  • Multiple wholesalers with unified authentication
  • Value-added services like content filtering per-user

FreeRADIUS Setup Guide (if needed)

Basic Installation (Ubuntu/Debian)

Bash
# Install FreeRADIUS
sudo apt update
sudo apt install freeradius freeradius-utils freeradius-mysql -y

# Enable and start
sudo systemctl enable freeradius
sudo systemctl start freeradius

# Test with radtest
radtest testuser testpassword localhost 0 testing123

clients.conf — Define NAS Clients

Config
# Your wholesaler's RADIUS proxy (if they forward auth to you)
client wholesaler-radius {
    ipaddr          = 203.0.113.10  # Wholesaler's RADIUS proxy IP
    secret          = YourSharedSecret123!
    shortname       = wholesaler
    nastype         = other
}

SQL Module Configuration

Config
sql {
    dialect = "mysql"
    driver = "rlm_sql_${dialect}"
    server = "localhost"
    port = 3306
    login = "radius"
    password = "RadiusDBPassword123!"
    radius_db = "radius"

    acct_table1 = "radacct"
    acct_table2 = "radacct"
    authcheck_table = "radcheck"
    authreply_table = "radreply"
    groupcheck_table = "radgroupcheck"
    groupreply_table = "radgroupreply"
    usergroup_table = "radusergroup"
    read_clients = yes
    client_table = "nas"
}

Database Schema

SQL
-- Create RADIUS database
CREATE DATABASE radius;
USE radius;

-- Users table
CREATE TABLE radcheck (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(64) NOT NULL DEFAULT '',
    attribute VARCHAR(64) NOT NULL DEFAULT '',
    op CHAR(2) NOT NULL DEFAULT ':=',
    value VARCHAR(253) NOT NULL DEFAULT ''
);

-- Reply attributes (e.g., bandwidth limits)
CREATE TABLE radreply (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(64) NOT NULL DEFAULT '',
    attribute VARCHAR(64) NOT NULL DEFAULT '',
    op CHAR(2) NOT NULL DEFAULT ':=',
    value VARCHAR(253) NOT NULL DEFAULT ''
);

-- Accounting data
CREATE TABLE radacct (
    radacctid BIGINT AUTO_INCREMENT PRIMARY KEY,
    acctsessionid VARCHAR(64) NOT NULL DEFAULT '',
    acctuniqueid VARCHAR(32) NOT NULL DEFAULT '',
    username VARCHAR(64) NOT NULL DEFAULT '',
    nasipaddress VARCHAR(15) NOT NULL DEFAULT '',
    nasportid VARCHAR(50),
    acctstarttime DATETIME NULL,
    acctupdatetime DATETIME NULL,
    acctstoptime DATETIME NULL,
    acctinputoctets BIGINT DEFAULT 0,
    acctoutputoctets BIGINT DEFAULT 0,
    calledstationid VARCHAR(50) NOT NULL DEFAULT '',
    callingstationid VARCHAR(50) NOT NULL DEFAULT '',
    acctterminatecause VARCHAR(32) NOT NULL DEFAULT '',
    framedipaddress VARCHAR(15) NOT NULL DEFAULT ''
);

-- Example: Add a user with 100Mbps plan
INSERT INTO radcheck (username, attribute, op, value) 
VALUES ('user@yourisp.co.uk', 'Cleartext-Password', ':=', 'SecurePassword123');

INSERT INTO radreply (username, attribute, op, value) 
VALUES ('user@yourisp.co.uk', 'Mikrotik-Rate-Limit', ':=', '100M/100M');

RADIUS with Splynx (Recommended)

Bash
# Splynx automatically configures FreeRADIUS
# Users created in Splynx are automatically added to RADIUS
# No manual RADIUS configuration needed

# Splynx RADIUS attributes managed via web UI:
# Config → Networking → RADIUS
# - Set NAS devices
# - Configure authentication methods
# - Set up bandwidth plans
# - Define IP pools

Realistic Assessment

For most white-label ISPs using a single wholesaler like ICUK: you don't need your own RADIUS. Usage data comes via the API, bandwidth is defined by the product you order, not by your RADIUS. Focus your energy on billing, support, and marketing instead.

9

Customer Experience

Customer Portal Options

A modern ISP customer portal should provide: account overview, invoice history, payment management, speed test, service status, support tickets, plan changes, and Direct Debit management.

Option 2: Custom-Built Portal

Build using billing system's API

  • Full design control
  • Perfect brand integration
  • Higher dev cost
  • Best at 50+ customers

Option 3: Wholesaler Portal

White-label from your aggregator

  • Quick to deploy
  • Limited customisation
  • ICUK provides brandable portal

Option 4: WordPress + WooCommerce

Simpler approach for <100 customers

  • WooCommerce Subscriptions
  • Custom plugin for API integration
  • Easy to set up

Example: Custom Node.js Portal

JavaScript
// Example: Node.js/Express portal pulling data from Splynx API
const express = require('express');
const axios = require('axios');
const app = express();

const SPLYNX_API = 'https://billing.yourisp.co.uk/api/2.0';
const API_KEY = process.env.SPLYNX_API_KEY;

// Customer dashboard
app.get('/dashboard', async (req, res) => {
    try {
        const customerId = req.session.customerId;
        
        // Get customer details
        const customer = await axios.get(
            `${SPLYNX_API}/admin/customers/customer/${customerId}`,
            { headers: { 'Authorization': `Splynx-EA (api_key=${API_KEY})` } }
        );
        
        // Get invoices
        const invoices = await axios.get(
            `${SPLYNX_API}/admin/finance/invoices?customer_id=${customerId}`,
            { headers: { 'Authorization': `Splynx-EA (api_key=${API_KEY})` } }
        );
        
        // Get services
        const services = await axios.get(
            `${SPLYNX_API}/admin/customers/customer/${customerId}/internet-services`,
            { headers: { 'Authorization': `Splynx-EA (api_key=${API_KEY})` } }
        );
        
        res.render('dashboard', {
            customer: customer.data,
            invoices: invoices.data,
            services: services.data
        });
    } catch (error) {
        console.error('Portal error:', error);
        res.status(500).render('error');
    }
});

// Coverage checker (using wholesaler API)
app.post('/check-coverage', async (req, res) => {
    const { postcode } = req.body;
    
    // Example: ICUK availability check
    const availability = await axios.get(
        `https://api.icuk.net/broadband/availability/${postcode}`,
        { headers: { 'Authorization': 'Bearer YOUR_ICUK_API_KEY' } }
    );
    
    res.json(availability.data);
});

app.listen(3000);

Recommendation

Start with Splynx's built-in portal — zero development cost, all billing data already there. Build a custom front-end when you have revenue to justify it (50+ customers).

10

Responsibilities

Aggregator Provides vs What You Build

What Your Aggregator Provides

Network connectivityPhysical broadband service
ProvisioningOrder placement, line activation
IP addressesDynamic and static IPv4, IPv6
RADIUS authUser auth & session management
DNSRecursive DNS for customers
BackhaulInternet transit and peering
MonitoringCore network uptime
FaultsLiaison with Openreach
Line statsSync speed, SNR, errors
Usage dataBandwidth usage per line
APIProgrammatic access to all above
OTSTechnical provider switching

What YOU Build/Provide

Brand & identityLogo, website, marketing
Customer acquisitionMarketing, sales
Billing & paymentsInvoice, Direct Debits
Customer supportHelpdesk, phone/email/chat
Customer portalSelf-service management
Legal complianceT&Cs, privacy, Ofcom
ComplaintsProcess & ADR integration
Coverage checkerPostcode availability tool
Order managementCapture → provisioning
Fault triageFirst-line troubleshooting
Speed claimsOfcom-compliant advertising
FinanceAccounting, VAT, reporting

The Integration Layer

Architecture
┌─────────────────────────────────────────┐
│              YOUR SYSTEMS               │
│                                         │
│  Website ──→ Coverage Checker           │
│  Order Form ──→ Order Processing        │
│  Customer Portal ──→ Self-Service       │
│  Billing System ──→ Invoicing/DD        │
│  Helpdesk ──→ Support Tickets           │
│                                         │
│         ↕ YOUR API INTEGRATION ↕        │
│                                         │
│  ┌───────────────────────────────────┐  │
│  │     WHOLESALER API (e.g. ICUK)    │  │
│  │                                   │  │
│  │  • Address search / availability  │  │
│  │  • Place broadband order          │  │
│  │  • Check order status             │  │
│  │  • Get line stats                 │  │
│  │  • Raise fault                    │  │
│  │  • Cease service                  │  │
│  │  • Usage data                     │  │
│  └───────────────────────────────────┘  │
└─────────────────────────────────────────┘
11

Financials

Realistic Year-1 Cost Breakdown

Assumptions: starting from zero, target 50 customers by end of Year 1, using ICUK + Splynx, one-person operation, mix of FTTC and FTTP.

Pre-Launch Costs (Months 1-3)

ItemMonth 1Month 2Month 3
Company formation£12--
Business insurance£400--
ICO registration£40--
ADR scheme (annual)-£200-
Domain name (.co.uk)£10--
Website hosting£20£20£20
Website development£500£500-
Billing system (Splynx)-£50£50
Logo / branding£200--
Legal docs (template)-£300-
Test broadband line--£25
Misc / contingency£100£100£100
Monthly Total£1,282£1,170£195

Launch & Growth — Monthly Operating Costs (Months 4-12)

ItemMonthly CostNotes
Website hosting£20VPS or similar
Billing system£50Splynx
Business phone (VoIP)£15SIP trunk for support line
ADR scheme (amortised)£17£200/year
Insurance (amortised)£33£400/year
ICO (amortised)£3£40/year
Office 365 / email£10Business email
Helpdesk software£0-30Free tier or basic plan
Marketing£200-500Google Ads, leaflets
Fixed Monthly~£350-680Before wholesale costs

Wholesale Costs (Per Customer)

ProductWholesaleYour PriceGross Margin
FTTC 40/10~£14/mo£28/mo£14 (50%)
FTTC 80/20~£17/mo£33/mo£16 (48%)
FTTP 80/20~£18/mo£35/mo£17 (49%)
FTTP 160/30~£21/mo£40/mo£19 (48%)
FTTP 500/75~£27/mo£50/mo£23 (46%)
FTTP 900/110~£33/mo£60/mo£27 (45%)

Customer Ramp Scenario

MonthCustomersWholesale CostRevenueGross Profit
43£54£105£51
57£126£245£119
612£216£420£204
718£324£630£306
824£432£840£408
930£540£1,050£510
1037£666£1,295£629
1143£774£1,505£731
1250£900£1,750£850

Year 1 Financial Summary

~£14,182
Total Costs Year 1
~£7,840
Total Revenue Year 1
-£6,342
Net Position Year 1
~£400
Monthly Profit (Month 12)

Breakeven Analysis

Analysis
Monthly fixed costs: ~£500
Average margin per customer: ~£17
Breakeven customers: 500 / 17 ≈ 30 customers

With marketing spend of £300/month:
Breakeven customers: 800 / 17 ≈ 47 customers

Expected breakeven: Month 10-12

Key Financial Notes

  • Side-business model initially — don't quit your day job until 100+ customers
  • Customer acquisition cost typically £50-150 per customer
  • Churn — expect 1-2% monthly; acquire faster than you lose
  • Cash flow — you pay wholesaler before customer pays you; maintain a buffer
  • Scaling economics — much more favourable at 200+ customers
  • No salary included — need ~150+ customers minimum to pay yourself
13

Growth

Marketing Strategy

13.1 Positioning

You cannot compete on price with BT, Sky, Virgin, etc. Instead, compete on:

Service Quality

Real human support, UK-based

Local Focus

"Your local broadband provider"

Niche Markets

Gamers, remote workers, rural

Transparency

No hidden fees, no mid-contract rises

Technical Expertise

"People who understand broadband"

13.2 Target Markets

Option B: Niche Focus

  • Gamers — low latency, static IPs
  • Remote workers — reliable, fast upload
  • Small businesses — dedicated support
  • Tech-savvy — IPv6, no CGNAT

Option C: B2B Focus

  • Higher margins (£50-100/mo)
  • Longer contracts (24-36 months)
  • Less price-sensitive
  • Value reliability over speed

13.3 Marketing Channels

Google Ads (Highest Priority)

Campaign
Campaign: Broadband + Location
Keywords:
- "broadband in [town]"
- "fibre broadband [town]"
- "best broadband [town]"
- "FTTP broadband [town]"
- "internet provider [town]"

Budget: Start with £200-300/month
Expected CPC: £1-3
Expected conversion rate: 2-5%
Cost per acquisition: £40-100

SEO & Social (Long-term)

SEO: Blog posts about broadband in your area, coverage checker page, speed comparison content, "switching broadband" guides, local business directory listings.

Social: Facebook/Instagram local groups, Reddit (r/BritishProblems, local subreddits, r/broadband), LinkedIn for B2B, Nextdoor for hyperlocal.

Offline Marketing

Leaflet Drops: Target new-build estates (likely FTTP), areas with recent FTTP deployment. ~£30-50 per 1,000 leaflets.

Local Events: Business networking, local fairs, sponsor sports teams.

Word of Mouth: Referral programme: £25 credit for referrer and referee. This is your best acquisition channel long-term.

13.5 Pricing Strategy

Don't be the cheapest. Be the fairest.

Strategy
"No surprises" pricing:
- No mid-contract price rises (or CPI only, clearly stated)
- No setup fees (absorb into monthly cost)
- No leaving fees outside minimum term
- Same price in and out of contract
- Static IP included (differentiator)
- Router included (basic model)

13.6 Customer Acquisition Targets

MonthMarketing SpendNew CustomersCAC
1£3003£100
2£3004£75
3£3005£60
6£4006£67
12£5008£63

Target CAC: Under £75 · Target LTV: £400+ · LTV:CAC ratio: 5:1 or better

14

Operations

Support & Helpdesk Setup

14.1 Support Tiers

Tier 1 · You

Customer-Facing

  • Router reboots, basic troubleshooting
  • Account queries, billing
  • Speed concerns (check line stats)
  • Order status updates
  • 80% of issues resolved here
Tier 2 · You + Wholesaler

Technical

  • Line faults (sync speed, errors, SNR)
  • Speed issues beyond basic
  • Provisioning problems
  • Escalate to wholesaler
Tier 3 · Wholesaler → Openreach

Network

  • Physical line faults
  • Exchange equipment issues
  • Engineer visits
  • Raised by wholesaler for you

14.2 Helpdesk Software Options

SoftwareCostBest For
FreshdeskFree (2 agents)Starting out — excellent free tier
Zoho DeskFree (3 agents)Budget-friendly
ZammadFree (self-hosted)Full control, open source
osTicketFree (self-hosted)Simple, lightweight
ZendeskFrom £15/agent/moProfessional, scalable
Splynx Built-inIncludedIf already using Splynx

14.3 Support Channels & Hours

Must Have (Day 1)

  • Email support
  • Ticket system
  • Service status page

Should Have (Month 3+)

  • Phone support (VoIP)
  • Live chat on website

Nice to Have (50+ customers)

  • WhatsApp Business
  • Customer community forum

14.5 Knowledge Base Articles

How to set up your router
WiFi optimisation tips
What to do if broadband stops
Understanding your broadband speed
How to run a speed test
Change your WiFi password
Port forwarding guide
View bill / make a payment
How to change your plan
Moving home with us

14.6 Fault Diagnosis Workflow

Workflow
Customer reports slow speed / no connection
        ↓
1. Check wholesaler portal for known outages
        ↓
2. Check line stats (sync speed, SNR, errors)
        ↓
3. Ask customer: lights on router? Tried reboot?
        ↓
4. If router issue → guide through reset/reboot
        ↓
5. If line issue → check if sync speed matches expected
        ↓
6. If sync low → raise fault with wholesaler
        ↓
7. Wholesaler runs line test remotely
        ↓
8. If fault found → Openreach engineer booked
        ↓
9. Keep customer updated throughout
15

Compliance

Speed Testing & Ofcom Compliance

15.1 Speed Metrics You Must Quote

MetricDefinition
Download speedMust state achievable speed
Upload speedMust state achievable speed
"Up to" speedsMaximum technically possible
Average speedAverage at peak time (8-10pm)
Min. guaranteedBelow this, customer can exit contract

Key Rules

  • Headline speed must be achievable by at least 50% of customers at peak time
  • Must provide estimated speed before sign-up
  • Minimum guaranteed speed must be stated
  • If actual speed falls below minimum and you can't fix within 30 days → customer can leave penalty-free
  • Peak time is 8pm-10pm for residential broadband

15.3 Self-Hosted Speed Test

Bash
# LibreSpeed - self-hosted speed test
# https://github.com/librespeed/speedtest

docker run -d \
  --name speedtest \
  -p 8080:80 \
  -e MODE=standalone \
  -e TITLE="YourISP Speed Test" \
  -e TELEMETRY=true \
  ghcr.io/librespeed/speedtest

# Gives you: branded speed test, test results data, embeddable

15.5 Ofcom Compliance Checklist for Speeds

Estimated speed range provided before purchase
Min. guaranteed speed stated in contract
Peak-time speed info available
Speed test facility for customers
Right to exit if min speed not met
Speed info in Key Facts sheet
No misleading speed claims in marketing
"Up to" speeds reflect 50%+ at peak

15.6 Key Facts Sheet Template

Template
KEY FACTS - [Plan Name]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Service:        Fibre Broadband (FTTP)
Download speed: 73-80 Mbps (estimated for your line)
Upload speed:   18-20 Mbps (estimated for your line)
Min. guaranteed: 60 Mbps download / 15 Mbps upload

Monthly price:  £35.00 (inc. VAT)
Setup fee:      £0.00
Contract term:  12 months

After min. term: Rolls to 30-day rolling at same price
Early exit fee:  Remaining months × £35.00

Provider:       Your ISP Ltd
Complaints:     complaints@yourisp.co.uk / 0800 XXX XXXX
ADR scheme:     CISAS (cedr.com/consumer/cisas)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
16

Pricing

Pricing Tiers & Margin Analysis

16.1 Residential — FTTC Products

PlanSpeedWholesaleYour PriceMargin%
Essential40/10 Mbps£14£27.99£13.9950%
Standard55/10 Mbps£15£29.99£14.9950%
Fast80/20 Mbps£17£32.99£15.9948%

16.1 Residential — FTTP Products (Full Fibre)

PlanSpeedWholesaleYour PriceMargin%
Fibre 3636/10 Mbps£16£28.99£12.9945%
Fibre 8080/20 Mbps£18£34.99£16.9949%
Fibre 160160/30 Mbps£21£39.99£18.9947%
Fibre 500500/75 Mbps£27£49.99£22.9946%
Fibre 900900/110 Mbps£33£59.99£26.9945%

Add-ons

Add-onWholesaleYour PriceMargin
Static IPv4£2£4.99£2.99
/29 IP block (5 usable)£8£14.99£6.99
Enhanced support SLA£0£5.99£5.99
WiFi mesh unit (sale)£45£79.99£34.99

16.2 Business Pricing

PlanSpeedWholesaleYour PriceMargin%
Business 8080/20 Mbps£20£44.99£24.9956%
Business 160160/30 Mbps£24£54.99£30.9956%
Business 500500/75 Mbps£30£69.99£39.9957%
Business 900900/110 Mbps£36£84.99£48.9958%
Leased Line 100100/100 Mbps£200£299£9933%

Business packages include: static IP, priority support, 4-hour SLA response.

16.3 Comparison with Major Providers (2025)

Provider80Mbps FTTP500Mbps FTTP900Mbps+
BT£32.99£42.99£54.99
Sky£29.00£39.00£46.00
Plusnet£27.99£36.99N/A
Vodafone£27.00£33.00£38.00
You£34.99£49.99£59.99

Key Insight

You'll be more expensive than big players on headline price. Compete on: no mid-contract price rises, real human UK support, no throttling, static IP included, transparency, local/niche expertise.

16.4 Revenue Model at Scale

CustomersAvg RevenueMonthly RevenueMonthly CostsMonthly Profit
50£37£1,850£1,400£450
100£37£3,700£2,300£1,400
200£37£7,400£4,100£3,300
500£37£18,500£10,500£8,000
1,000£37£37,000£20,000£17,000

16.5 Contract Strategy

Strategy
Option A: 12-month minimum term
- Lower perceived commitment, higher churn but easier to sell
- ETC = remaining months × monthly charge

Option B: 24-month minimum term with lower price
- £2-3/month discount vs 12-month
- Better for cash flow planning

Option C: 30-day rolling (premium)
- £3-5/month premium vs 12-month
- Attracts customers who hate contracts

Recommended: Offer all three, default to 12-month
17

Integration

API Integration Examples

These are illustrative examples based on typical wholesale API patterns. Always refer to your wholesaler's actual API documentation.

17.1 ICUK API Client (Python)

Python
import requests
import json

class ICUKClient:
    """Example wholesale broadband API client"""
    
    def __init__(self, api_key, api_secret):
        self.base_url = "https://api.icuk.net/api/v1"
        self.session = requests.Session()
        self.session.headers.update({
            'Authorization': f'Bearer {api_key}',
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        })
    
    def check_availability(self, postcode, address_id=None):
        """Check broadband availability at a postcode/address"""
        params = {'postcode': postcode}
        if address_id:
            params['address_id'] = address_id
        response = self.session.get(
            f"{self.base_url}/broadband/availability", params=params
        )
        return response.json()
    
    def search_address(self, postcode):
        """Search for addresses at a postcode"""
        response = self.session.get(
            f"{self.base_url}/broadband/address-search",
            params={'postcode': postcode}
        )
        return response.json()
    
    def place_order(self, order_data):
        """Place a broadband order"""
        response = self.session.post(
            f"{self.base_url}/broadband/orders", json=order_data
        )
        return response.json()
    
    def get_line_details(self, service_id):
        """Get line details including sync speed, SNR, etc."""
        response = self.session.get(
            f"{self.base_url}/broadband/services/{service_id}"
        )
        return response.json()
    
    def get_usage(self, service_id, start_date, end_date):
        """Get bandwidth usage for a service"""
        response = self.session.get(
            f"{self.base_url}/broadband/services/{service_id}/usage",
            params={'start': start_date, 'end': end_date}
        )
        return response.json()
    
    def raise_fault(self, service_id, fault_data):
        """Raise a fault/ticket with the wholesaler"""
        response = self.session.post(
            f"{self.base_url}/broadband/services/{service_id}/faults",
            json=fault_data
        )
        return response.json()

# Usage example
client = ICUKClient(api_key='your_api_key', api_secret='your_api_secret')

# 1. Search for addresses
addresses = client.search_address('SW1A 1AA')

# 2. Check availability
if addresses:
    availability = client.check_availability('SW1A 1AA', addresses[0]['id'])
    for product in availability.get('products', []):
        print(f"  {product['name']}: {product['downstream_speed']}/"
              f"{product['upstream_speed']} Mbps - £{product['monthly_cost']}/mo")

# 3. Place an order
order = client.place_order({
    'address_id': addresses[0]['id'],
    'product_id': 'FTTP_80_20',
    'customer': {
        'title': 'Mr', 'first_name': 'John', 'last_name': 'Smith',
        'email': 'john@example.com', 'phone': '07700900000'
    },
    'go_live_date': '2026-04-01'
})

17.3 Webhook Handler for Order Updates

Python
from flask import Flask, request, jsonify
import hmac, hashlib

app = Flask(__name__)
WEBHOOK_SECRET = 'your_webhook_secret'

@app.route('/webhooks/broadband', methods=['POST'])
def handle_broadband_webhook():
    """Handle order status updates from wholesaler"""
    
    # Verify webhook signature
    signature = request.headers.get('X-Webhook-Signature')
    payload = request.get_data()
    expected = hmac.new(
        WEBHOOK_SECRET.encode(), payload, hashlib.sha256
    ).hexdigest()
    
    if not hmac.compare_digest(signature, expected):
        return jsonify({'error': 'Invalid signature'}), 403
    
    data = request.json
    event_type = data.get('event_type')
    order_id = data.get('order_id')
    
    if event_type == 'order.accepted':
        notify_customer(order_id,
            f"Your broadband order has been accepted. "
            f"Expected go-live: {data.get('estimated_activation')}")
        
    elif event_type == 'order.activated':
        notify_customer(order_id,
            "Your broadband is now live! 🎉 "
            "Connect your router and you should be online in minutes.")
        start_billing(order_id)
        
    elif event_type == 'order.delayed':
        notify_customer(order_id,
            f"Delay with your order. New date: {data.get('new_estimated_date')}. "
            f"Reason: {data.get('delay_reason')}")
    
    return jsonify({'status': 'ok'}), 200

if __name__ == '__main__':
    app.run(port=5000)

17.4 Splynx + GoCardless Billing Integration

Python
import requests
from datetime import datetime

class SplynxBilling:
    """Integration between wholesaler events and Splynx billing"""
    
    def __init__(self, splynx_url, api_key):
        self.base_url = f"{splynx_url}/api/2.0"
        self.session = requests.Session()
        self.session.headers.update({
            'Authorization': f'Splynx-EA (api_key={api_key})'
        })
    
    def create_customer(self, customer_data):
        """Create customer in Splynx"""
        return self.session.post(
            f"{self.base_url}/admin/customers/customer",
            json={
                'name': customer_data['first_name'],
                'surname': customer_data['last_name'],
                'email': customer_data['email'],
                'phone': customer_data['phone'],
                'street_1': customer_data['address_line_1'],
                'city': customer_data['city'],
                'zip_code': customer_data['postcode'],
                'status': 'active',
                'billing_type': 'recurring',
                'partner_id': 1
            }
        ).json()
    
    def create_internet_service(self, customer_id, plan_data):
        """Create internet service for customer"""
        return self.session.post(
            f"{self.base_url}/admin/customers/customer/"
            f"{customer_id}/internet-services",
            json={
                'plan_id': plan_data['splynx_plan_id'],
                'login': plan_data['pppoe_username'],
                'password': plan_data['pppoe_password'],
                'status': 'active',
                'start_date': datetime.now().strftime('%Y-%m-%d'),
                'description': plan_data['product_name']
            }
        ).json()
    
    def create_invoice(self, customer_id, amount, description):
        """Generate invoice"""
        return self.session.post(
            f"{self.base_url}/admin/finance/invoices",
            json={
                'customer_id': customer_id,
                'date_created': datetime.now().strftime('%Y-%m-%d'),
                'items': [{
                    'description': description,
                    'quantity': 1,
                    'unit_price': amount,
                    'tax_percent': 20  # VAT
                }]
            }
        ).json()
18

Reference

Appendices

Appendix A: Useful Links

ResourceURL
Ofcom CP Registrationofcom.org.uk
ICO Registrationico.org.uk/registration
Companies Housegov.uk
CISAS (ADR)cedr.com/consumer/cisas
GoCardlessgocardless.com
ICUK Partnericuk.net
Gamma Partnergamma.co.uk
Entanetenta.net
Splynxsplynx.com
Openreach Productsopenreach.com
RIPE NCCripe.net

Appendix B: Ready to Launch Checklist

Legal & Regulatory

Limited company registered
Business bank account opened
VAT registered (if applicable)
Ofcom notification confirmed
ADR scheme joined
ICO registration completed
Business insurance in place
T&Cs drafted
Privacy Policy drafted
AUP drafted
Complaints Code published
Key Facts sheet template

Wholesale & Technical

Wholesaler account active
API credentials tested
Billing system configured
Payment collection (GoCardless)
Customer portal accessible
Coverage checker working
Order workflow tested E2E
Fault escalation documented

Website & Marketing

Website live
Pricing clearly displayed
Coverage checker on website
Legal pages accessible
SSL certificate installed
Google My Business listing

Support & Testing

Helpdesk system configured
Support email active
Knowledge base articles
Status page set up
Test order placed & provisioned
Customer journey tested E2E

Appendix C: Common Pitfalls & Prevention

PitfallImpactPrevention
UnderpricingMargin too thin to sustainDon't compete on price with BT/Sky
No complaints processOfcom enforcementSet up before first customer
Ignoring OTSNon-compliance, finesEnsure wholesaler handles OTS
No min speed guaranteeCustomer exits, complaintsUse wholesaler's line checker
Cash flow issuesCan't pay wholesalerCollect via DD, maintain buffer
Over-promising speedsComplaints, ADR casesUse actual line estimates only
No status pageSupport overwhelmedSet up free status page
Manual everythingDoesn't scaleAutomate via API from day one
Ignoring GDPRICO finesPrivacy policy + data processes
No test ordersFirst customer = guinea pigTest thoroughly before launch

Appendix D: Growth Path

Phase 1: Side Hustle (0-50 customers)

  • One-person operation, part-time support
  • Single wholesaler, basic billing system
  • Target: Prove the model, refine processes

Phase 2: Small Business (50-200 customers)

  • Consider part-time support hire
  • Automated provisioning and billing
  • Add VoIP/additional services
  • Target: Sustainable revenue, regular growth

Phase 3: Growing ISP (200-500 customers)

  • Full-time support staff (1-2 people)
  • Second wholesaler for redundancy
  • Business broadband focus for margins
  • Target: Meaningful profit, market presence

Phase 4: Established ISP (500-1000+ customers)

  • Small team (3-5 people)
  • Consider RIPE membership & own IP space
  • Consider direct Openreach relationship
  • Target: Serious business, potential acquisition target

Appendix E: Glossary

TermDefinition
ADSLAsymmetric Digital Subscriber Line — legacy broadband over copper (up to 24Mbps)
AggregatorWholesale company that aggregates network access for resellers
AS NumberAutonomous System Number — identifies a network on the internet
BackhaulThe connection between local access network and the internet
BGPBorder Gateway Protocol — internet routing protocol
CGNATCarrier-Grade NAT — sharing public IPs (to be avoided)
CPCommunications Provider
DHCPDynamic Host Configuration Protocol — assigns IP addresses
GEAGeneric Ethernet Access — Openreach's fibre product
IPoEIP over Ethernet — modern broadband connection method
LLULocal Loop Unbundling — installing equipment in BT exchanges
NTENetwork Termination Equipment — box on customer's wall
ONTOptical Network Terminal — FTTP box on customer's wall
OTSOne Touch Switch — Ofcom's switching process
PPPoEPoint-to-Point Protocol over Ethernet — broadband connection method
SOGEASingle Order GEA — broadband without WLR
SNRSignal-to-Noise Ratio — line quality indicator
WLRWholesale Line Rental — traditional phone line

About This Guide

Compiled in March 2026 as a comprehensive resource for anyone looking to start a white-label ISP in the UK. While every effort has been made to ensure accuracy, regulations, pricing, and available products change frequently.

Always Verify

  • Current Ofcom regulations at ofcom.org.uk
  • Wholesaler pricing directly with the wholesaler
  • Legal requirements with a qualified solicitor
  • Tax obligations with an accountant

This guide is not legal or financial advice. It's a practical starting point for your research.

Last updated: March 2026