---
title: "Publish a driver to the marketplace"
description: "Run conformance for every contract version your driver claims, submit it, and see how builders find it by interface, region and capability."
section: "guides"
status: "Planned for 1.2"
spec: "driver-marketplace"
canonical: "https://mainsdk.dev/docs/guides/publish-a-driver"
updated: "2026-10-28"
---

# Publish a driver to the marketplace

> Run conformance for every contract version your driver claims, submit it, and see how builders find it by interface, region and capability.

Status: Planned for 1.2 · Canonical: https://mainsdk.dev/docs/guides/publish-a-driver · Updated: 2026-10-28

You will publish a driver and see what builders see. Listing and installing are free, and every listed driver stays open source (Apache-2.0). It takes about 20 minutes.

## You need

- A driver made with `defineDriver` (see [Drivers and conformance](https://mainsdk.dev/docs/architecture/drivers-and-conformance)).

## 1. Publish

```bash
npx mainsdk driver publish ./acme-mail --implements email@^1.2
```

It runs the conformance suite for email 1.2, 1.3 and 1.4. A version with a failing test is shown as not listed; the passing ones are listed. If every version fails, nothing is listed (`MAIN-DRIVER-0002`). The submission is written to `.mainsdk/marketplace/submission.json`. MainSDK reruns the reference harness in the US, EU and India before it lists the driver, and the numbers you see on the page come from those runs, never from your claim.

## 2. What builders see

```bash
npx mainsdk driver search email --region in --capability attachments
npx mainsdk driver info acme-mail
```

A listing shows conformance per contract version, p50 and p99 per region, overhead, the capability profile, the publisher level and ratings. A latency 20 percent worse than the previous release is flagged on the page. The publisher level follows the verified developer level and drops when a record expires or an advisory stays open more than 14 days.

## 3. Ratings and revocation

Only verified developers whose project runs the driver can rate it, and each rating shows the version used. A revoked driver is delivered as a signed TUF update and `npx mainsdk check` warns in every app that uses it, naming the driver and the advisory (`MAIN-DRIVER-0006`).

## Check it worked

Run `npx mainsdk driver info <your driver>` once the marketplace lists it. Until then `driver publish --json` shows each contract version and whether it passed.
