The 20i Reseller module allows you to offer hosting services to your clients. This module integrates with Blesta to automate the provisioning and management of 20i hosting accounts, making it easy to provide 20i accounts without intervention.
From £24.99 - View Pricing
What 20i Reseller gives you
Gives both your staff and your clients a purpose-built interface in their own area of Blesta.
Pick whether a package is provisioned in London, UK or Dallas, US so clients are hosted close to their audience.
Configure it independently for each brand on a multi-company install, so every company runs with its own settings.
Every staff and client label ships in editable language files, ready to translate into any language or reword to match your brand.
A built-in demo mode runs the whole extension from bundled sample data, so you can trial every screen and action before you have an account or API key.
Choose the platform a package sells and the package-type list rebuilds for it, so Linux hosting and Managed WordPress plans are both sold from the same module.
Adding an account authenticates the reseller API key and the auth key against 20i, so a typo is caught immediately instead of surfacing as a failed order later.
A welcome email template ships with the extension and loads onto any package in one click, already filled with the details the client needs to start using what they bought.
Suspension, reactivation, cancellation, and upgrades or downgrades between plans are all pushed to 20i automatically, so a failed payment or a plan change needs no manual follow-up.
Clients open their branded StackCP control panel straight from their Manage tab without a second password, and staff get the same button on the staff side of the service for support work.
Give each 20i account a name so multiple reseller accounts are easy to tell apart, and both API keys are stored encrypted, never shown again, and kept when you leave the field blank on an edit.
A paid order creates the hosting package on 20i under the client's own stack user, matched to them by email and created for them if they are new, so a customer is live within seconds of checkout.
Attach Blesta configurable options named for the package's own settings and clients pick their own sizing or extras at checkout, overriding or adding to the package defaults - so one package can sell your whole range.
The staff and client service pages show the hosting package's domain and its current status - active, suspended, cancelled, pending, or in review - so support and clients see the same summary without opening the control panel.

Resell 20i shared hosting from Blesta, with hands-off provisioning and a one-click login into the client's control panel.
Selling 20i reseller hosting through Blesta normally means creating the hosting account by hand after every order, then fielding support requests for control panel access. This module closes that gap: the moment a client's order is paid, their hosting package is created directly on your 20i reseller account and matched to their own login, no manual step in between. From then on, suspensions, cancellations and plan changes all flow through to 20i automatically, and both you and your client can jump straight into the branded control panel from the service page in Blesta, without a second password to remember.
Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Upload the extension folder into your Blesta installation so it lands under your Blesta directory at:
components/modules/twentyi/
For example, on a typical install: /var/www/html/blesta/components/modules/twentyi/
No cron task or webhook needs to be configured - provisioning, suspension, cancellation and plan changes are all triggered directly by the matching action in Blesta.
You're ready to go - see the usage guide for a walkthrough of day-to-day use.
Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Upgrading works just like installing: upload the new files over the old ones, then run the upgrade from the same page you installed it on.
Both migrations run automatically the first time the upgraded module loads; there is nothing to configure by hand.

Go to Settings > Company > Modules > Installed, then click Manage next to 20i. This page lists every 20i reseller account you have connected, by the name you gave it.
On a package's module fields, choose which 20i account (or account group) provisions it, then pick the Platform (Linux or Managed WordPress) - the Package Type list rebuilds automatically to match whichever platform you pick - and the Location the package is provisioned in (London, UK or Dallas, US). These three settings are what every service on the package is provisioned with, unless a client overrides them through a configurable option (see below).
Attach a Blesta configurable option named to match the package's own type or location field, and a client's choice at checkout overrides that package's default for their service. This lets one package sell every 20i tier and both locations, instead of needing a separate package per combination.
Every package's Email tab can load a ready-made welcome email for 20i services, pre-filled with the client's domain and the package's type and location. Load it once and edit the wording to match your brand if you like.
Open a client's profile and find their 20i service in the Services list - its row expands to show the Domain and current Status (Active, Suspended, Cancelled, Pending, or In Review) at a glance, without opening the service.
Open the service and click its Manage tab for the full picture: Domain, Package, Location and Status, plus a Log in to control panel button that opens the client's branded StackCP control panel in a new tab, matched to them automatically, for when you need to take a look on their behalf.
Editing the service lets you change the stored Domain and the 20i Reference ID directly, useful for attaching an existing 20i package to a Blesta service without reprovisioning it.
When you order 20i hosting, you'll be asked to enter the domain you want the hosting set up for - this becomes the primary domain of your new hosting account.
From your Services list, your 20i hosting's row expands to show its Domain and current Status.
Open the service and click its Manage tab, then Log in to control panel. This opens your branded StackCP control panel in a new tab - you're logged in automatically, with no separate control panel password to remember.
v3.0.0 - 2026-10-11
PHP 8.2 - 8.4 · Blesta 6.x
Added support for Blesta 6. This version requires Blesta 6.0 or later; Blesta 5 installs should stay on version 2.x
Updated the account list, the add and edit account forms, the staff service info panel, the staff Manage tab and the package Module tab fields to the Blesta 6 admin theme, including dark mode
Changed the Edit and Delete links on the account list to buttons, and added a Back button to the add and edit account forms
Fixed the delete confirmation for an account group asking about an account
Fixed packages set to "Choose Automatically" failing to provision through an account group: the group now hands out its first account (the Add/Edit Account Group form offers "First Account in the Group" as the order), and groups created under an older version work without being re-saved
Renamed the add and edit account form titles to "Add 20i Account" and "Edit 20i Account"
v2.0.0 - 2026-09-11
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Fixed the control panel access token being written to the module log in cleartext on every service page
Removed the reseller API key from the email tags, where it rendered decrypted into any template that used it
Fixed API failures with an unrecognised response body showing an empty error message
Added a request timeout so a stalled 20i response can no longer hold a page or a cron run open
Added a service management tab with a control panel login button that mints an SSO session only when clicked
Added support for Blesta configurable options overriding the package type and location
Added named module rows so multi-account installs are labelled by name instead of an API key
Added a welcome email template
Added Managed WordPress package types via a package platform choice
Service info panels now show the domain and status only
v1.0.0 - 2024-09-22
PHP 7.2 - 7.3, 8.1 - 8.4 · Blesta 5.x
Blesta Club release
Get exactly what you need and want.
Requires PHP 8.2 - 8.4 · Blesta 6.x
Value: £42.3
Not sure whether to lease or own? Our FAQ explains how the licence types differ.
What our customers say
(0 customer reviews)
It is possible to leave a review only if you have purchased this extension or a Club tier which contains it.
We reserve the right to alter wording or formatting for presentation.
We will discuss any changes made and offer the option to withdraw review text if the changes can't be agreed on.
It may take up to 1 hour for a review to appear or update due to caching.
More extensions to explore
Module
Integrate BunnyDNS for automatic DNS provisioning and management.
PHP 8.2 - 8.4 · Blesta 6.x
Module
Integrate Cloudmini for automatic cloud hosting provisioning.
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Module
Provision servers using Convoy, a Proxmox based VPS management panel
PHP 8.2 - 8.4 · Blesta 6.x
Module
Integrate Datalix module into your Blesta install to provision VPS servers.
PHP 8.2 - 8.4 · Blesta 6.x
Module
Integrate Enhance for automatic provisioning and management.
PHP 8.2 - 8.4 · Blesta 6.x
Module
Integrate Hetzner Cloud for automatic server provisioning.
PHP 8.2 - 8.4 · Blesta 6.x