Programmable commerce verification

Make commerce verifiable.

Payment proves value moved. SafeGate verifies the evidence describing what happened next and exposes the strength of that evidence. Integrate through SDK, API and agent/MCP surfaces without turning SafeGate into a payment processor, wallet, custodian or escrow.

Public SDK · current

@nurexenlabs/safegate-sdk v0.4.0

The public SDK exposes the SafeGate verification client plus agent/MCP discovery and verification surfaces. Keep privileged merchant credentials server-side; public verification does not require wallet private keys or signing secrets.

npm install @nurexenlabs/safegate-sdk

const { SafeGateClient } =
  require("@nurexenlabs/safegate-sdk");

const safegate = new SafeGateClient({
  baseUrl: process.env.SAFEGATE_BASE_URL
});

const result =
  await safegate.verifyCommerce(attestation);

console.log(result.decision);
console.log(result.assurance.level);
console.log(result.commerce_verified);
One core · multiple integration surfaces

Integrate at the layer you already control.

SDK

Application integration

Verify commerce attestations and preserve decision, assurance, provenance and proof references inside your application.

API

Commerce verification

Use programmatic verification for payment evidence, request binding, replay safety, outcome evidence and portable CommerceProof.

MCP

Agent-callable tools

Agents can discover SafeGate tools and verify commerce programmatically without SafeGate receiving authority to spend funds.

x402

Machine-buyable evidence

Paid API flows can bind payment to the exact request and deliver signed evidence with recovery that does not silently double-charge.

Adapters

Rail-specific normalization

Payment and execution rails stay behind adapters. The core assurance semantics remain independent of a specific rail.

CommerceProof

Portable result

Carry forward what was paid for, what happened next, the evidence class, provenance and assurance level.

Assurance semantics

Evidence strength is explicit.

Payment verification alone is not fulfillment verification. SafeGate does not silently promote weak evidence into stronger assurance.

CLAIMED

Provider-supplied outcome evidence is authenticated, but the underlying fulfillment was not independently observed or validated.

OBSERVED

SafeGate observed the paid request, execution, response or equivalent execution evidence.

VALIDATED

A named independent validation mechanism verified the relevant field or outcome.

THIRD_PARTY_ATTESTED

An external attestor supplied evidence under a separately identified trust mechanism.

Hard rule

A CLAIMED result must never be presented as independently VALIDATED. commerce_verified is true only when the configured assurance policy threshold has actually been satisfied.

Agent / MCP

Let an agent verify before it trusts.

const discovery =
  await safegate.mcpDiscover();

const tools =
  await safegate.mcpListTools();

const result =
  await safegate.mcpVerifyCommerce(
    attestation
  );
Safety boundary

No wallet authority

Public verification calls do not require a seed phrase, private key, signing secret or custody relationship. SafeGate evaluates evidence; it does not become the user’s wallet or payment rail.

Core contract

Stable core. Replaceable adapters.

INTENT
  → PAYMENT
  → BINDING
  → SINGLE CONSUME
  → EXECUTION / FULFILLMENT
  → EVIDENCE
  → COMMERCEPROOF
Architecture doctrine

If an integration requires the SafeGate core to misstate evidence or weaken assurance semantics, the integration does not belong in the core. Rail-specific behavior stays in adapters.