Node Connection

Point this workbench at a running KiiWORKS node. Settings persist in this browser's local storage; the bearer token is never transmitted anywhere except to the node URL you specify.

DID:Kaspa

Identity-auth uses a challenge-response handshake to bind a Kaspa address to a verifiable DID document. Issue a fresh challenge or verify one.

Request challenge

Resolve DID

Calls GET /api/identity-auth/dids/{id} (endpoint TODO — verify presence in identity-auth crate).

Request / Response


            

            

Verifiable Credentials

Issue a W3C VC against any registered DID, then verify the signed envelope on the same node.

Issue credential

Mounts at /api/vc/credentials (vlei crate route, also serves general VC issuance).

Verify credential

Request / Response


            

            

vLEI — GLEIF hierarchy

Issue and verify GLEIF Verifiable Legal Entity Identifier credentials along the canonical four-tier chain.

GLEIF Root └── QVI (Qualified vLEI Issuer) └── Legal Entity (LE-vLEI) ├── OOR (Official Organizational Role) └── ECR (Engagement Context Role)

Issue QVI

Issue Legal Entity

Issue OOR

LEI lookup

Verify vLEI chain

Request / Response


            

            

Digital Product Passport

Issue an EU-DPP for a product, attach EPCIS supply-chain events, or import a Catena-X SAMM aspect.

Create DPP


Import Catena-X SAMM aspect

Attach EPCIS event

After creating a DPP, request GET /api/dpp/dpp/{id}/qr to retrieve a GS1 Digital Link QR.

Request / Response


            

            

Trust Tag (KRC-20)

Create a trust artefact backed by a KRC-20 token mint with embedded BLAKE2b commitment.

Create trust tag

List trust tags

Request / Response


            

            

Trade Documents — LC + eBL

Issue letters of credit and electronic bills of lading (MLETR-compliant) and advance them through their lifecycle state machines.

LC lifecycle: Issued → Advised → Confirmed → DocumentsPresented → Accepted → Paid ↓ Rejected

Issue Letter of Credit

Advance LC state

Issue electronic Bill of Lading

Request / Response


            

            

Customs Single Window

EU Combined Nomenclature lookup, harmonised declaration submission, MRN assignment.

HS code lookup

Endpoint convention /api/customs/customs/hs/... from the customs crate's routes.

Customs declaration

Request / Response


            

            

CBAM Declaration

Carbon Border Adjustment Mechanism declarations for cement, iron & steel, aluminium, fertilisers, hydrogen and electricity.

Create declaration

CBAM defaults for CN code

Add emissions report

GreenZeta provenance (optional, declared)

Fill this to bind the report to a GREENZETA calculation you ran yourself. Only the hash's form is validated (exactly 64 hex characters, refused strictly); the engine version and citations are declared and stamped verbatim, and computed_at is stamped as the moment you submit. KiiWORKS never recomputes the number or checks it against the hash.

Compute with GreenZeta (live node only)

Runs the node's local GREENZETA gz engine (declared mode) and binds the engine's own provenance envelope into the report's computation_provenance block — GREENZETA computes, KiiWORKS stamps; it never recomputes or verifies the number. A 502 means the engine is not reachable — this action calls a local GREENZETA engine on the node (GZ_BINARY); the demo node may not have one. Declaring a report with your own computation_provenance block via “Add emissions report” always remains available.

Request / Response


            

            

RED III Fuels — Proofs of Sustainability

The RED III fuel evidence twin: Proofs of Sustainability (with SAF / RFNBO blocks when declared), Guarantees of Origin, mass-balance and book-and-claim ledgers, and scheme certificates. Every quantity, GHG intensity and certificate detail is a declaration, stamped verbatim — never verified, computed or judged. Schemas are DRAFT (kiiworks:red3:*:draft-1).

List Proofs of Sustainability

PoS detail / verify

SAF / RFNBO blocks appear inside the PoS when declared. The udb_submissions array is the UDB staging receipt — live_write: false: "this receipt records the intent to submit; it is NOT a live write. The EU Union Database is not operational until end-2026."

Guarantees of Origin

A GoO here is a revocable VC over a declared registry instrument — the named issuing registry stays the system of record; KiiWORKS never issues, transfers or cancels the GoO itself.

Book-and-claim ledger + closure check

From the verify response, verbatim: "proof_valid covers the signature over the DECLARED ledger and its closure block; closure was server arithmetic over the submitted ledger (and, for book-and-claim, over the tenant's retired Guarantees of Origin) at receipt — the declared quantities, PoS references and GoO serials are not verified".

Scheme certificates + revocation status

Schema, verbatim: "RED III scheme / certification-body certificate as a REVOCABLE VC; details declared, validity asserted by the named scheme/CB, never verified by KiiWORKS". The revoked sample carries its revocation reason and timestamp.

Register PoS

Posts { document, controller_did } to /api/fuels/pos. The document is stored and signed verbatim; exactly one controller of the PoS batch at a time (MLETR-style singleness of control). UDB staging is a separate step and stays live_write: false until the Union Database opens.

Request / Response


            

            

MRV — Metered Measurement Evidence

The verifiable metering rail: registered devices, hash-linked readings, Merkle-sealed batches and reproducible aggregations. Time semantics, verbatim: "declared_reading_at is a CLAIM by the submitter or the device and is NEVER verified — this rail has no independent clock on the meter. received_at is this node's server receipt time and is the only time KiiWORKS can prove anything about." Schemas are DRAFT (kiiworks:mrv:*:draft-1).

Devices

A device binds a declared reference to a did:key. Registering a key does not make readings source-signed — only a reading that arrives carrying a valid signature by that key ever earns the label.

Readings

Two provenance grades, never conflated: source-signed (the registered device key signed this exact payload and the node verified it — this does NOT assert the meter is accurate, calibrated or honest) vs receipt-attested (arrived unsigned; "as reported to us", strictly weaker).

Merkle batches

The on-chain anchor commits to the Merkle ROOT itself — one anchor covers every reading in the batch. Each batch reports its provenance mix (source-signed vs receipt-attested counts).

Aggregations + custody chain

Custody walks backwards: aggregation → anchored Merkle batch roots → individual readings with inclusion proofs → devices. The aggregation is a reproducible sum of DECLARED values — NOT an emissions figure or a judgement.

Verifier attestation

A third-party verifier's revocable VC over an aggregation. The statement inside is the verifier's declaration; KiiWORKS records and verifies the signature, not the opinion.

Request / Response


            

            

CORSIA — Declared Claims Registry

Operators' declared CORSIA statements — emissions reports, offsetting claims, unit retirements and eligible-fuel claims — stamped verbatim, anchored, and cross-checked for duplicate unit references and PoS credential hashes. Scope, verbatim: "duplicate detection covers ONLY records submitted to this registry; absence of flags is NOT proof that no duplicate claim exists elsewhere. No statement in this report is a judgement of emissions, offsets or unit quality."

Statements

From verify, verbatim: "proof_valid covers the signature over the DECLARATION; the declared contents are not verified, and integrity_flags are registry-side observations outside the signed document". A duplicate flag is symmetric — a signal to investigate, never a verdict.

Verifier attestation

Revocable verifier VC over a statement; the verifier's opinion is a declaration — only its signature and revocation status are verified here.

Units lookup — duplicate view

Shows every statement in this registry claiming the unit, and whether it is claimed more than once here — nothing beyond this registry.

Integrity report

Registry-wide roll-up: statements, attestations (including revoked), duplicate flags and cross-tenant signals — bounded by the same this-registry-only scope note.

Submit eligible-fuel claim

The PoS link is BY HASH: this registry never resolves or verifies the referenced Proof of Sustainability, and the quantities are declared. Submitting a hash already claimed in this registry raises a symmetric duplicate flag on both statements.

Request / Response


            

            

Sanctions Screening

Screen counterparties against EU consolidated, OFAC SDN, UK OFSI, UN Security Council and Swiss SECO lists.

Single party screen

Bulk screen (CSV)

Loaded sanctions lists

Request / Response


            

            

On-chain Anchor (Kaspa)

Anchor cryptographic hashes to the Kaspa BlockDAG via P2PK burn transactions or batched anchor-trees.

Anchor single hash

Batched Merkle anchor

Verify anchor

Request / Response


            

            

JSON-LD Contexts & Service Inventory

All 15 canonical JSON-LD contexts plus the running node's registered services.

JSON-LD contexts ()

Each served at /.well-known/contexts/{name}.jsonld with Content-Type: application/ld+json.

Services on this node ()