For manufacturers and embedded engineers

Allocate MAC addresses and serial numbers without duplicates

A central source of truth for assigning MAC addresses and serial numbers across products, factories and manufacturing runs. Register the IEEE MA-L, MA-M or MA-S block you own, define a serial number scheme, and reserve a production batch atomically: one MAC range and one serial range, together, exported as CSV for the programming line.

See plans →

Included on the Scale plan · coming to the self-hosted license · step-by-step guide →

What one batch gives you

  • A contiguous MAC range, computed from your block's first workable address, or a starting point you choose
  • A contiguous serial number range from a template you define once and reuse: prefix, date code, sequence, check digit
  • Both reserved together, atomically, so two batches can never collide, even generated seconds apart
  • A CSV export, streamed instantly for a small batch or compiled in the background for a large one

Built for what actually happens after

  • Mark a batch shipped once it's confirmed in the field: that range is then permanent, never reusable again
  • Mark it released if the factory didn't use it, and reuse that exact range later, only when you explicitly choose to
  • Split a batch at any device count, down to a single device, if only part of a run needs a different fate
  • Downgrade off Scale and keep every block, batch, and export you've already made; only new batches are gated

The workflow

From a block you own to a programmed, verified unit

This is MAC address pool management: automatic, sequential allocation from an OUI address pool you own, with duplicate MAC address prevention built in, whether you build in one plant or hand isolated subranges to multiple factories and a contract manufacturer.

See it in action

Ship it, release it, split it, the batch stays yours

Every batch keeps its own status, and every action on it is reversible except shipping. Export CSV from any of them at any time, whatever they were generated for.

Available now

Scale plan today, self-hosted next

Scale plan

Live in your dashboard now

Included with every Scale subscription, alongside 1,000,000 API lookups/month. Sign in and open Provision from your account to start.

See plans →

Self-hosted

Coming to the self-hosted license

The self-hosted engine already runs the lookup API and sync service on your own infrastructure. Batch provisioning is joining it next.

Ask about timing →

Losing the plan

Your data outlives your subscription

Downgrade or cancel and every block, portfolio, batch, and export you generated stays exactly as it was. Only creating a new batch needs Scale again.

New to this

Walk through your first batch step by step

Registering a block, defining a serial scheme, and generating your first batch, plus what to do when a factory only uses part of a run.

Read the guide →

Background reading

The manufacturing allocation problem, in depth

Vendor-neutral guides on getting a unique MAC address and serial number into every unit on a production line.

FAQ

Common questions about batch provisioning

Do you verify I actually own the OUI block I register?

No. Registering a block is self-declared: this tool never talks to IEEE on your behalf and never registers anything, it only computes addresses within a range you assert you control. We show a non-blocking note if the block matches a registered organization in our own IEEE-synced database, but nothing is gated on it. The practical risk of a false claim is bad data in your own account, not anything IEEE-facing.

What happens if a factory doesn't use an entire batch?

Mark the unused part released instead of shipped, and it becomes an explicit starting point for your next batch, never silently reused. A batch that's only partly used can be split first, at any device count, so you can ship the part that shipped and release the rest. Nothing is ever handed out to a new batch automatically: reusing a released range is always a deliberate choice you make, not something the tool does for you.

What serial number formats does it support?

A configurable template per scheme: an optional literal prefix, an optional date code (year + ISO week, or a full date), a zero-padded sequence of however many digits you need, and an optional trailing Luhn check digit. Define a scheme once and reuse it across every batch that should share the same format.

How does it prevent duplicate MAC addresses?

A batch reservation is a single atomic step: it takes a contiguous MAC range and a contiguous serial range together and advances the pointer once, so two batches generated at the same instant on different production lines get adjacent, non-overlapping ranges. An address that was allocated but not used is never returned to the pool automatically. A released range is only ever reused when you explicitly choose it, and nothing is ever deleted, so every address handed out stays on record.

Can I use this across multiple factories or a contract manufacturer?

Yes. Model each factory or contract manufacturer as its own portfolio (optionally its own registered sub-block) with a bounded subrange of your block. Each site requests batches from that subrange only, so it cannot reach an address used elsewhere, and concurrent requests from different sites still get disjoint ranges. Send each production order as a CSV export; release whatever the run did not use.

What happens to my generated data if I downgrade from Scale?

Nothing is deleted or hidden. You keep full access to every block, portfolio, batch, and export you've already created on any plan; only creating a new batch requires Scale. Downgrading just stops new address consumption, the same way it would for any other plan-gated feature here.

Can I export to Excel, not just CSV?

CSV today, which opens directly in Excel, Google Sheets, or Numbers. A native XLSX export is planned; if your workflow needs something CSV can't carry, get in touch.

Is this available in the self-hosted license?

Not yet. It's live now on the hosted Scale plan, and we're bringing it into the self-hosted license as part of the same engine. If self-hosted batch provisioning would unblock you sooner, contact us and tell us your timeline.