← Blog
🔌 Wholesale API

Launch your own shipping brand
without building a single carrier integration.

Connecting to UPS, DHL, InPost, Correos, Poste Italiane, DPD, GLS and SEUR normally takes weeks of contracts, business accounts and APIs that break every quarter. NullShip's wholesale API puts all of it behind a single token: you sell labels to your own customers at your price, and we handle the plumbing with the carriers. One REST API, JSON throughout, over Tor — set your markup, keep the margin, cash out in crypto.


1. The problem: reselling shipping labels is expensive to build

Every carrier has its own onboarding, its own label format and its own idea of what a valid postal code is. Multiply that by dozens of services and 30 countries and you have a months-long project before you sell your first label — plus endless maintenance every time one of them changes something.

The usual alternative is reselling by hand: take the order in chat, pay for it yourself, forward the PDF. It does not scale, and it leaves you with no consistent pricing and no books.

2. What it is: a wholesale layer ready to resell

POST /api/v1/rates returns live rates; POST /api/v1/labels mints the real label and hands you the PDF. Underneath, our routing layer picks the best source for each corridor and serves it instantly — that logic is ours and you never see it. You talk to a single endpoint and always get the right rate, with no contracts or integrations to maintain.

curl -x socks5h://127.0.0.1:9050 \
  -H "Authorization: Bearer nsk_test_…" \
  -H "Content-Type: application/json" \
  -d '{ "from": {…}, "to": {…}, "parcel": {"weight": 2, "length": 30, "width": 20, "height": 10} }' \
  http://nshipaklqgackrcrezr4lum3msy4wfdlnmmb6wzzbuy7onbjnmckbxad.onion/api/v1/rates

Live rates for a corridor — the same call works in sandbox or production.

3. Sub-accounts: your customers, your brand

The heart of the reseller model. You create sub-accounts for your own customers — each with its own balance, label history and login. Every call you make on their behalf carries an X-Sub-Account-Id, so the system attributes each cost and each margin to the right party automatically.

POST /api/v1/sub-accounts — register a customer
GET /api/v1/sub-accounts/me/labels — the customer checks their shipments
POST /api/v1/sub-accounts/me/topup — the customer tops up (crypto invoice) or redeems a prepaid code

Build your own front-end with signup-token → register → auth, or skip the development entirely and use our web wizard, Telegram bot or mini-app — built for resellers who do not want to write code.

4. You set the price, you keep the margin

You define your markup — global or per country-to-country corridor. Every label a customer of yours buys generates a profit that accrues in your commission cycle. At close you withdraw it: in crypto (BTC / LTC / XMR) or moved to another account's balance. The dashboard shows every movement, which sub-accounts are online live, and the profit breakdown per sale.

🔒 5. Private by default

NullShip is onion-only by design: the API lives on a .onion service, with bearer-token authentication and keys shown only once (we store only the hash). Payments and payouts in crypto. No JavaScript required — it works even with Tor at the highest security level.

6. Test before spending a cent

Every partner gets two keys: nsk_test_* (sandbox) and nsk_live_* (production). In sandbox, /rates returns real data and /labels gives you a synthetic label with fake tracking — zero balance movement. Build and test your whole integration, and when it is ready, switch keys. That is it.


Frequently asked questions

How do I get access? +
Access is invite-only, account by account. You open a regular NullShip account, contact us by ticket or PGP describing what you want to build, make an initial top-up, and the operator enables the API and generates your key pair — sandbox plus production — which you see only once, when they are created.
How much does the API cost? +
Nothing on top of the labels. You pay for the shipment; the wholesale layer is free. Your markup is yours to set and yours to keep.
Which countries and carriers does it cover? +
The main networks across Europe (ES, IT, NL, DE, FR and 30+ EU destinations): UPS, DHL, DPD, GLS, InPost, BRT, Correos, SEUR, Poste Italiane and more, depending on the corridor.
Do I need to code? +
Not necessarily. If you want to, you integrate the REST API. If not, you use the web wizard, the Telegram bot or the mini-app and resell without writing a line of code.
How do I get paid? +
Each cycle you withdraw your accrued margin in BTC, LTC or XMR, or move it to another account's balance. Everything is recorded in the dashboard's movements ledger.

Ready to resell under your own brand?

Access is invite-only. Open an account, open a ticket (or reach us over PGP) telling us what you want to build, and we will enable sandbox plus production.

Create an account →