SealTrustSealTrustSealTrust
Home
VerifyDemo
Sign inSign up
SealTrust
HomeVerifyDemo

Product

FeaturesPricingUse casesIntegrations

Company

AboutVisionCareersContact

Resources

BlogDocumentationAPI Docs
Sign inCreate an account

© 2026 SealTrust

SealTrust

Product authentication through NFC and blockchain. Protect your brand against counterfeiting.

Product

  • Features
  • Pricing
  • Use cases
  • Integrations
  • Documentation

Company

  • About
  • Vision
  • Contact
  • Careers

Legal

  • Terms of Service
  • Privacy Policy
  • Legal notices
  • GDPR

Resources

  • Blog
  • DPP 2027 Guide
  • API Docs
  • Support

© 2026 SealTrust. All rights reserved.

Made with trust in France
Developer Documentation

SealTrust API Documentation

Everything you need to integrate product authentication, NFC verification, and digital certificates into your application.

Base URL: https://api.sealtrust.io/v1

Navigation

Full API Reference

Quick Start

Get up and running in 3 steps. Create your first authenticated product in under 5 minutes.

1

Get your API key

Sign in to your SealTrust dashboard and generate an API key from the Settings page.

bash
# Navigate to your SealTrust dashboard
# Settings → API Keys → Create new key
# Copy your key — it won't be shown again
2

Install the SDK

Add the SealTrust SDK to your project using your preferred package manager.

bash
npm install @sealtrust/sdk
# or
yarn add @sealtrust/sdk
3

Create your first product

Register a product and trigger on-chain minting with a single API call.

bash
curl -X POST https://api.sealtrust.io/v1/products \
  -H "Authorization: Bearer st_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Limited Edition Sneaker",
    "sku": "SNK-001",
    "category": "footwear",
    "metadata": {
      "color": "midnight blue",
      "size": "42"
    }
  }'

Authentication

All API requests require a valid API key passed in the Authorization header.

Authorization Header

Include your API key as a Bearer token in every request.

bash
curl https://api.sealtrust.io/v1/products \
  -H "Authorization: Bearer st_live_your_api_key"

API Key Types

SealTrust provides two types of API keys for different environments.

PrefixEnvironmentUsage
st_test_SandboxDevelopment and testing. No real blockchain transactions.
st_live_ProductionProduction. Real NFC verification and on-chain minting.

Rate Limits

Rate limits are applied per API key and vary by plan.

PlanRate LimitBurst
Starter100 req/min20 req/s
Business1,000 req/min50 req/s
Enterprise10,000 req/min200 req/s

Products

Create, list, update, and mint products. Each product can be linked to an NFC tag and minted as an on-chain NFT.

GET/v1/products

Retrieve a paginated list of your products.

ParameterTypeRequiredDescription
pageintegeroptionalPage number (default: 1)
per_pageintegeroptionalItems per page (default: 20, max: 100)
statusstringoptionalFilter by status: active, pending_mint, minted, archived
categorystringoptionalFilter by category

POST/v1/products

Create a new product. Optionally trigger automatic NFT minting.

ParameterTypeRequiredDescription
namestringrequiredProduct name
skustringrequiredUnique stock keeping unit
categorystringoptionalProduct category (e.g., footwear, accessories)
descriptionstringoptionalProduct description
metadataobjectoptionalCustom key-value metadata
auto_mintbooleanoptionalAuto-mint NFT on creation (default: false)

GET/v1/products/:id

Retrieve a single product by its ID, including NFC tag and NFT status.


PATCH/v1/products/:id

Update product details. Only provided fields will be changed.


POST/v1/products/:id/mint

Trigger NFT minting for a product. The minting process is asynchronous — use webhooks or polling to track status.

Certificates

Issue tamper-proof digital certificates of authenticity, ownership, or warranty. Each certificate is anchored on-chain.

POST/v1/certificates

Issue a new certificate for a product.

ParameterTypeRequiredDescription
product_idstringrequiredID of the product to certify
typestringrequiredCertificate type: authenticity, ownership, warranty
issued_tostringoptionalName of the certificate recipient
expires_atstringoptionalExpiration date (ISO 8601)

POST/v1/certificates/:id/revoke

Revoke a previously issued certificate. This is irreversible and recorded on-chain.


GET/v1/certificates/:id/verify

Verify the validity of a certificate, including on-chain verification.

Verification

Verify product authenticity using NTAG 424 DNA Secure Dynamic Messaging (SDM) or direct NFC tap.

SDM Verification

Verify a product using the cryptographic data from an NTAG 424 DNA NFC tag. The UID, counter, and CMAC are extracted from the tag's NDEF URL.

POST/v1/verify/sdm
ParameterTypeRequiredDescription
uidstringrequired7-byte NFC tag unique identifier (hex)
ctrstringrequired3-byte read counter value (hex)
cmacstringrequired8-byte AES-CMAC authentication code (hex)

NFC Tap Verification

End users can verify products by simply tapping the NFC tag with their smartphone. No app required.

How NFC tap verification works:

  1. 1User taps the NFC tag embedded in the product with their smartphone.
  2. 2The tag generates a unique, one-time cryptographic URL with SDM parameters.
  3. 3The smartphone opens the SealTrust verification page automatically.
  4. 4SealTrust validates the CMAC, checks the counter, and displays the product certificate.

Webhooks

Receive real-time notifications when events occur in your SealTrust account.

POST/v1/webhooks

Register a webhook endpoint to receive events.

Event Types

EventDescription
product.createdA new product has been created
product.mintedProduct NFT has been minted on-chain
product.scannedProduct NFC tag has been scanned
product.transferredProduct ownership has been transferred
certificate.issuedA new certificate has been issued
certificate.revokedA certificate has been revoked
transfer.initiatedAn ownership transfer has been initiated
transfer.completedAn ownership transfer has been accepted
nfc.tag_linkedAn NFC tag has been linked to a product

HMAC Signature Verification

Every webhook request includes an X-SealTrust-Signature header. Verify it using HMAC-SHA256 with your webhook secret to ensure the request is authentic.

typescript
import crypto from 'crypto';

function verifyWebhook(
  payload: string,
  signature: string,
  secret: string,
): boolean {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected),
  );
}

// In your webhook handler:
app.post('/webhooks/sealtrust', (req, res) => {
  const signature = req.headers['x-sealtrust-signature'];
  const isValid = verifyWebhook(
    JSON.stringify(req.body),
    signature,
    process.env.SEALTRUST_WEBHOOK_SECRET,
  );

  if (!isValid) {
    return res.status(401).send('Invalid signature');
  }

  const { type, data } = req.body;
  switch (type) {
    case 'product.minted':
      handleProductMinted(data);
      break;
    case 'product.scanned':
      handleProductScanned(data);
      break;
  }

  res.status(200).send('OK');
});

Digital Product Passport

Create ESPR-compliant Digital Product Passports with full supply chain transparency, materials traceability, and carbon footprint data.

SealTrust DPP is designed to comply with the EU Ecodesign for Sustainable Products Regulation (ESPR) requirements coming into effect in 2027. Start building your DPP infrastructure now to be ready.

POST/v1/products/:id/passport

Create or update the Digital Product Passport for a product.

GET/v1/products/:id/passport

Retrieve the Digital Product Passport for a product, including the public-facing URL and QR code.

Integrations

Connect SealTrust to your existing tools and e-commerce platforms.

Shopify

Available

Auto-create authenticated products from Shopify orders and sync inventory.

WooCommerce

Available

WordPress/WooCommerce plugin for automatic product registration.

PrestaShop

Available

PrestaShop webservice integration for product catalog synchronization.

Salesforce

Available

Sync product authentication data with Salesforce CRM records.

SAP

Beta

Enterprise ERP integration for manufacturing and supply chain workflows.

HubSpot

Available

Sync product data with HubSpot CRM deals and product records.

Odoo

Available

Odoo ERP integration for product management and inventory sync.

NetSuite

Available

Oracle NetSuite integration for enterprise resource planning workflows.

Dynamics 365

Available

Microsoft Dynamics 365 integration for CRM and ERP product sync.

Custom ERP

Available

REST API and webhooks for any custom ERP or back-office system.

Connector setup

Follow these steps to obtain the credentials required by each connector.

TypeScript SDK

The official SealTrust SDK provides a type-safe, promise-based interface for all API operations.

Installation

bash
npm install @sealtrust/sdk
# or
yarn add @sealtrust/sdk
# or
pnpm add @sealtrust/sdk

Initialization

typescript
import { SealTrust } from '@sealtrust/sdk';

// Initialize with your API key
const st = new SealTrust('st_live_your_api_key', {
  // Optional configuration
  baseUrl: 'https://api.sealtrust.io/v1',  // default
  timeout: 30000,                            // 30s default
  retries: 3,                                // auto-retry on 5xx
});

Usage Examples

typescript
// Create a product and mint its NFT
const product = await st.products.create({
  name: 'Artisan Watch',
  sku: 'WATCH-001',
  autoMint: true,
});

// Wait for minting to complete
const minted = await st.products.waitForMint(product.id, {
  pollInterval: 2000,  // check every 2s
  timeout: 120000,     // max 2 min
});

console.log('NFT token ID:', minted.nft.tokenId);
console.log('View on chain:', minted.nft.explorerUrl);

Error Codes

All API errors follow a consistent format with machine-readable codes and human-readable messages.

When an error occurs, the API returns a JSON object with an error key containing the code, message, HTTP status, and a unique request ID for debugging.

json
{
  "error": {
    "code": "product_not_found",
    "message": "No product found with ID 'prod_invalid'",
    "status": 404,
    "request_id": "req_abc123xyz"
  }
}
HTTPCodeDescription
400invalid_requestThe request body is malformed or missing required fields.
401unauthorizedMissing or invalid API key.
403forbiddenThe API key does not have permission for this action.
404not_foundThe requested resource does not exist.
409conflictThe resource already exists or is in a conflicting state.
422validation_errorOne or more fields failed validation.
429rate_limitedToo many requests. Retry after the Retry-After period.
500internal_errorAn unexpected error occurred on our side. Contact support.
502blockchain_errorThe blockchain node is temporarily unreachable.
503service_unavailableThe service is temporarily unavailable. Retry shortly.

Platform Architecture

A layered architecture designed for security, scalability, and European data sovereignty.

Verification Layer

Consumer App · NFC Tag · Blockchain

API Gateway

REST API · Webhooks · SDK

Application Layer

Auth · Products · Certificates · Events · DPP

Trust & Security Layer

NFC Crypto · Clone Detection · Trust Scoring

Infrastructure Layer

AWS (Paris) · Encrypted storage · European hosting

Hosted on AWS in Paris, France (eu-west-3) — European data sovereignty guaranteed.

Infrastructure

AWS eu-west-3 (Paris, France)

Database

Relational database (encrypted at rest)

Cache

In-memory cache (encrypted in transit)

Storage

Amazon S3 (encrypted at rest)

Blockchain

Base (Ethereum L2)

NFC

NTAG 424 DNA (AES-128)

Encryption

TLS 1.3 in transit, AES-256 at rest

Compliance

GDPR, EU DPP ready

Ready to get started?

Create your free account and start authenticating products in minutes.

Create free accountTalk to sales
Documentation — SealTrust