Integration Use cases Docs Vendor app Dispatch app Read the docs

Every enterprise customer eventually asks the same question.

Can you prove
what happened?

If the answer is anything other than an immediate yes, you do not have a technical problem. You have a business problem.

Option 1
Build it yourself. The first prototype is achievable. The production version never really ends.
Option 2
Handle disputes manually. Which does not scale. Which fails enterprise procurement.
Option 3
Integrate SwiftProof. One API. Ship in days. We handle verification infrastructure permanently.
We handle proof. You build the product.
Why this exists

Truth should be captured at the moment it happens.
Not reconstructed after it is disputed.

The infrastructure category
Stripe
Payments
Every company eventually needs payments. They no longer build Stripe.
Auth0
Authentication
Every company eventually needs identity. They no longer build Auth0.
Twilio
Communications
Every company eventually needs messaging. They no longer build Twilio.
SwiftProof
Verification
Every product that moves things between hands eventually needs to prove what happened. They should not have to build that either.
What leaves your roadmap

What your team
never has to build.

When you integrate SwiftProof these things leave your roadmap permanently.

Confirmation pages
For every actor in every chain. Works on any device. No app required.
Included
GPS capture
Across iOS and Android browsers. At the exact millisecond of the event.
Included
Cryptographic chaining
Hash generation and chain verification. Any modification detected immediately.
Included
Tamper detection
Catches altered records instantly. Verification endpoint returns a clear auditable result.
Included
Append-only audit trail
Every event logged in order. None of it editable. Holds up to regulatory scrutiny.
Included
One-time link generation
With expiry and failed attempt logging. Used once. Then gone.
Included
Public tracking pages
For end customers. Real-time. No app required. Opens in any browser.
Included
SDK clients
JavaScript, TypeScript, Python, Go, and Java. Maintained permanently.
Included
Ongoing maintenance
As devices, browsers, and regulations change. We own it. You never think about it again.
Included forever

The best proof infrastructure is the code your team never has to write.

The problem

Every product that moves things
between hands faces this moment.

What it costs you.

The enterprise contract that does not renew because you could not produce evidence.
The client who moves to a competitor that can show a verified audit trail.
The regulatory audit that finds no tamper-proof record of events.
The dispute that escalates because neither side has anything beyond testimony.

Why building it yourself is harder than it looks.

Making the audit trail append-only and mathematically verifiable
Linking every confirmation cryptographically so tampering is detected immediately
GPS capture reliably across every device and browser without friction
One-time link generation with expiry and failed attempt logging
A verification endpoint that returns a clear auditable result
Maintenance as browsers change, regulations evolve, enterprise clients ask harder questions

That is verification infrastructure your team owns and maintains indefinitely. Infrastructure that does not make your product better. It just makes it defensible.

The common objection

Why not assemble
it yourself?

You could. Cloud storage for audit logs. Signed URLs for confirmation links. GPS capture in the browser. A hash library for chain verification. Each individual piece exists.

But production-ready verification infrastructure is not one component. It is the integration of confirmation flows, cryptographic verification, tamper detection, append-only audit trails, browser compatibility across every device, retry logic, idempotency, SDK clients your engineers can actually use, and years of ongoing maintenance as every one of those pieces evolves.

We already built that system. We maintain it permanently. You integrate it once.

The question is not whether you could build it. The question is whether building it is the best use of your engineering team's next three months.

How it works

One API call creates
a chain of custody.

You define the steps. You define the actors. We handle everything else.

Your Product
SwiftProof SDK & API
Confirmation
Links
GPS
Capture
Crypto
Chain
Audit
Trail
Verification
API
Verifiable Evidence

When each actor taps their confirmation link the system captures simultaneously their GPS coordinates at the exact millisecond of the event, the precise timestamp, and optional photo evidence if your use case requires it.

Every confirmation is cryptographically linked to the previous one. Any modification breaks the chain and is detected immediately. Every event is written to an append-only log. None of it editable. Ever.

The integration

Your first API call.

One call. Three actors. Three confirmation links returned in under a second.

create-chain.js
import { SwiftProof } from 'swiftproof';

const sp = new SwiftProof({
  apiKey: process.env.SWIFTPROOF_API_KEY,
});

const chain = await sp.chains.create({
  title: 'Order #4821 — Delivery to Lekki Phase 1',
  metadata: {
    orderId: '4821',
    customerPhone: '08012345678',
  },
  actors: [
    { event: 'packed',    actor: 'Kitchen — Surulere' },
    { event: 'collected', actor: 'Rider — Emeka'      },
    { event: 'delivered', actor: 'Rider — Emeka'      },
  ],
});
Idempotency
Every POST accepts an Idempotency-Key header. Safe to retry. No duplicate chains.
Graceful degradation
SDK queues and retries with hooks for your own logging and monitoring. Your product keeps running.
Rate limiting
Standard 429 with Retry-After headers. Your integration handles bursts cleanly.
Timeouts
Every SDK call has a configurable timeout. Your servers never wait indefinitely for a response.

SwiftProof becomes part of your infrastructure. Not part of your workflow. You integrate it once. Then you do not think about it again.

verify-chain.js — three weeks later, dispute arrives
const proof = await sp.chains.verify('sp_ch_a96fec076ffd44f4');

// Response
{
  "verified": true,
  "tampered": false,
  "trail": [
    {
      "event":        "packed",
      "actor":        "Kitchen — Surulere",
      "confirmed_at": "2026-06-24T08:14:00Z",
      "location":     "Ogunlana Drive, Surulere, Lagos",
      "photo_url":    "https://cdn.yourapp.com/proof/order-4821-packed.jpg",
      "video_url":    null,
      "valid":        true
    },
    {
      "event":        "collected",
      "actor":        "Rider — Emeka",
      "confirmed_at": "2026-06-24T08:47:00Z",
      "location":     "Ogunlana Drive, Surulere, Lagos",
      "photo_url":    "https://cdn.yourapp.com/proof/order-4821-collected.jpg",
      "video_url":    null,
      "valid":        true
    },
    {
      "event":        "delivered",
      "actor":        "Rider — Emeka",
      "confirmed_at": "2026-06-24T09:22:00Z",
      "location":     "Admiralty Way, Lekki Phase 1, Lagos",
      "photo_url":    "https://cdn.yourapp.com/proof/order-4821-delivered.jpg",
      "video_url":    "https://cdn.yourapp.com/proof/order-4821-delivered.mp4",
      "valid":        true
    }
  ]
}

Verified true. Tampered false. You have a verifiable record of what the system captured. The dispute now has evidence on one side and testimony on the other. That is a very different conversation.

Build vs integrate

The honest comparison.

What your product needs Build yourself SwiftProof
Confirmation pages for every actor Your team builds ✓ Included
GPS capture across all devices Your team handles ✓ Included
Cryptographic chain verification Your team implements ✓ Included
Tamper detection Your team builds ✓ Included
Append-only audit trail Your team architects ✓ Included
One-time link generation and expiry Your team builds ✓ Included
Public tracking pages Your team builds ✓ Included
Idempotency handling Your team implements ✓ Included
SDK in multiple languages Your team writes and maintains ✓ Included
Ongoing maintenance Your team owns forever ✓ Included forever

Features you build, you maintain. Forever. Through every browser update, regulation change, and enterprise audit.

Infrastructure you integrate, we maintain. So your team stays focused on the product that actually differentiates you.

Built for

Any product where something
moves between hands.

SwiftProof is verification infrastructure. Where disputes, compliance, or physical handoffs matter.

Logistics platforms
Enterprise clients want a verified audit trail for every delivery. Not driver testimony. A cryptographically chained record that holds up to scrutiny.
Fintech and banking
Card collection. Loan document handoff. Identity verification at the point of physical interaction. A verifiable record that something happened at a specific place and time.
Insurtech
Field agent site visits are the most disputed events in property insurance. SwiftProof creates the record automatically. The chain exists before anyone thinks to dispute it.
Pharma distribution
Controlled medication requires a documented chain of custody. SwiftProof creates an append-only chain that satisfies regulatory requirements and holds up to audit.
Construction and field services
Every project milestone that needs to be proven complete before payment is released becomes a chain. The record is permanent and verifiable.
Document handoffs
Contract signing. Asset transfers. Compliance sign-offs. Any workflow where an action needs to be verified at multiple points before the next step is authorised.
The outcome

Three months from now
a major client files a dispute.

Your account manager gets on the call. The other side is ready to push.

Your account manager opens the verification record.

confirmed_at: 2026-06-24T09:22:00Z
location: Admiralty Way, Lekki Phase 1, Lagos
verified: true    tampered: false

The conversation changes immediately.

Not because your team argued better. Because the evidence was already there before the question was asked.

Your team did not build that. They were building the product that made you different.

The best proof infrastructure is the code
your team never has to write.

The SDK

Available now.

npm install swiftproof
JavaScript
Live on npm
TypeScript
Live on npm
Python
Via Fern
Go & Java
Via Fern

All endpoints versioned under /v1/. Breaking changes move to /v2/. Your existing integration never breaks.  ·  Full API reference →

We handle proof. You build the product.

Every product that moves things between hands eventually needs verification infrastructure.

The question is whether your team builds and maintains it indefinitely. Or whether you integrate it in days and move on to the work that actually moves your product forward. Your roadmap gets shorter. Not longer.

The best proof infrastructure
is the code your team never has to write.