Wastestamp

Producer-side waste tracking

Chain of custody you control.

Across every carrier, every site, every job.

Wastestamp
wastestamp.co.uk
WS-CKPC-JP8H-3VM6
ProducerWS-CKPC-JP8H-3VM6
CarrierWS-CKPC-JP8H-3VM6
DestinationWS-CKPC-JP8H-3VM6
SpareWS-CKPC-JP8H-3VM6
Ready for the 2026 digital waste tracking regime No app, no logins for site teams or hauliers One record across all your providers Works offline in areas of poor signal Cost-recoverable under reimbursable contracts Buy stamps, not complexity or tie-in
The problem

You carry the duty of care. But the record isn't yours to control.

Waste leaves your sites with a dozen different hauliers. Each runs their own paperwork — or their own software. You're the responsible party, yet your chain-of-custody data ends up scattered across other people's systems, created after the waste has already gone.

01 — Fragmented

Scraps and silos

Paper tickets, carrier dockets, a different login for every provider. No single source of truth for your own waste.

02 — Exposed

No proof when it matters

If a load is ever questioned, can you show — quickly — where it went, who carried it, and that the site was permitted to receive it?

03 — Out of your hands

Someone else's record

Under the new regime the receiving site creates the official record — at the end of the journey. You get visibility last, if at all.

How it works

One stamp. Three hands. One record.

Each ticket carries three identical copies of one code, on a base that sticks to the load. Each party peels a copy onto their own paperwork — every scan signs the same record, so custody is captured as it actually happens.

One base · three copies · one record
Producer
Carrier
Load
Destination
Chain of custody
Producer
Carrier
Destination
Why it's different

Not another haulier's system. The layer you own.

  • One record, every providerStop logging into a different system for each haulier. Your waste, consolidated, in one place you control.
  • Defensible by defaultTimestamped, location-aware, validated against the public carrier and permit registers.
  • Zero friction on siteNo app, no logins for crews or hauliers. If you can scan a QR code, you can use it.
  • Management informationVolumes by site, carrier performance, cost by job, exceptions surfaced — insight you've never had.
  • Cost-recoverableStamps are a consumable, not a subscription. Under cost-recoverable contracts, they sit on the job sheet as an allowable direct cost — not buried in overheads.
“I want to know that every load left, arrived, and was signed for — without chasing a dozen contractors for a dozen different bits of paper.”— the reason this exists
Insight

Powerful waste intelligence.

Every stamp creates data. Aggregated across your sites, carriers, and jobs — including route distance and carbon on every load — it gives you visibility you have never had. Accessible from the portal or via API.

1,247t

Total waste moved

Across all sites this quarter. Broken down by EWC code, carrier, and destination.

98.4%

Compliance rate

Full chain of custody on every load. Exceptions surfaced immediately, not at audit.

14 sites

One dashboard

Volumes by site, cost by job, carrier performance, rejected loads — all in one place.

8.4t CO₂e

Carbon & route

Every load's driven distance and estimated carbon, calculated from origin to destination — ready for sustainability reporting.

Live demo

Scan it. See a real record.

Point your phone camera at the code — no app, nothing to install. You'll see exactly what every party in the chain sees when they scan a stamp.

or open the live ticket →
Trust & security

Your compliance data, protected.

Waste records are legal documents — they have to be private, tamper‑proof and there when you need them. Wastestamp is built that way from the database up.

Walled off by design

Every organisation's records are isolated by PostgreSQL row‑level security — enforced in the database, not just the app, and it fails closed. No company can ever see another's data.

Tamper‑proof

Sign‑offs are written once and the audit log is append‑only, enforced by database triggers. A completed transfer note can't be altered, deleted or back‑dated.

Encrypted & UK‑hosted

Encrypted in transit and at rest on Microsoft Azure (UK South). Automated daily backups with point‑in‑time recovery, auto‑scaling, and offline‑tolerant capture so a lost signal never loses a sign‑off.

Your data, yours to use

Export your records whenever you like, or pull them into your own reporting and BI over the API. You own the data — we just keep it safe.

Built to align with ISO/IEC 27001 information‑security principles and UK GDPR. Formal certification is on our roadmap.

Integrate

Read any stamp from your own system.

Every Wastestamp QR is a public, machine‑readable reference. Weighbridges, transport software, ERP and waste platforms can scan a stamp during transit and pull the transfer note straight into their own system — no account, no SDK, no login. During transit, possession of the stamp is the key — and each code is cryptographically random (60‑bit), so it can't be guessed or enumerated.

Step 1 · Scan

Every panel is a URL

All four panels on a stamp encode the same link. A phone camera or barcode scanner reads it as a plain URL.

Step 2 · Parse

Take the stamp code

The code is the last path segment — the letters WS followed by 12 base‑32 characters. Re‑insert dashes for the printed form.

Step 3 · Fetch

Get the note as JSON

One GET returns the waste description, EWC codes, weights, carrier and destination in a DEFRA‑aligned schema.

What the QR encodes
https://t.wastestamp.co.uk/WSK7X3P2M9R4TN
Parse the code · any language
// scanned = the QR payload (a URL)
const code = new URL(scanned).pathname
  .split('/').filter(Boolean).pop();
// -> "WSK7X3P2M9R4TN"
// printed form: WS-K7X3-P2M9-R4TN
// validate:  /^WS[A-Z2-7]{12}$/
Read the transfer note
GET https://api.wastestamp.co.uk/t/WSK7X3P2M9R4TN/dtn
Accept: application/json
Example response — received movement
{
  "format": "DEFRA_DWT_RECEIPT_V1",
  "ticketRef": "WS-K7X3-P2M9-R4TN",
  "status": "accepted",
  "sealed": false,
  "dwtTrackingId": null,
  "dateTimeReceived": "2026-06-18T11:48:00.000Z",
  "wasteItems": [{
    "ewcCodes": ["170503"],
    "wasteDescription": "Hydrocarbon-impacted soil",
    "physicalForm": "Solid",
    "numberOfContainers": 2,
    "typeOfContainers": "LOO",
    "weight": { "metric": "Tonnes", "amount": 21.6, "isEstimate": false },
    "containsPops": false,
    "containsHazardous": true,
    "hazardous": {
      "sourceOfComponents": "PROVIDED_WITH_WASTE",
      "hazCodes": ["HP7", "HP14"],
      "components": [
        { "name": "Total petroleum hydrocarbons", "concentration": 0.8 },
        { "name": "Benzo(a)pyrene", "concentration": 0.02 }
      ]
    },
    "disposalOrRecoveryCodes": [
      { "code": "R5", "weight": { "metric": "Tonnes", "amount": 21.6, "isEstimate": false } }
    ]
  }],
  "carrier": {
    "registrationNumber": "CBDU248173",
    "organisationName": "Hargreaves Haulage Ltd",
    "meansOfTransport": "Road",
    "vehicleRegistration": "HX19 TYR",
    "address": { "fullAddress": "Tilbury Depot, Essex RM18 7JR", "postcode": "RM18 7JR" }
  },
  "receiver": {
    "siteName": "Brookfield Soil Treatment Centre",
    "authorisationNumber": "EPR/BX1234CD"
  },
  "receipt": {
    "address": { "fullAddress": "Brookfield Lane, Dartford, Kent DA1 5PQ", "postcode": "DA1 5PQ" }
  },
  "yourUniqueReference": "WS-K7X3-P2M9-R4TN",
  "hazardousWasteConsignmentCode": "WSTMP/A1B2C3",
  "otherReferencesForMovement": [
    { "label": "Consignment Note", "reference": "WSTMP/A1B2C3" }
  ]
}

The full record stays readable in transit and for a grace window after delivery — long enough for the receiving system to scan it in. After that it seals (sealed: true, stub only) and parties sign in to keep the record.

Early access

Be one of the first to run it.

We're working quietly with a small number of producers ahead of the rollout. Leave a contact and we'll be in touch.

No obligation · we'll never share your details