Skip to main content

TypeScript: Verification

VerificationClient drives the verification lifecycle. Owners request verification at a level (Basic, Enhanced, or Institutional), validators submit attestations, and on quorum the resource’s on-chain verification level is raised. Access the client as ntm.verification.

Verification levels

See Verification Engine and Fee Model for exact parameters.

Write methods

requestVerification

Called by the resource owner. Emits a VerificationRequested event that notaries pick up. The sender pays the protocol fee for the chosen level in NOTA (requires prior ERC-20 approval to VerificationEngine):
Returns the transaction hash. The associated request ID is emitted in the event logs.

submitAttestation

Called by active validators. approved = true votes in favor of the resource being legitimate at the requested level; approved = false votes against. Quorum is hit when the configured threshold of approvals is reached:
Validators who vote with the majority accrue rewards; minority voters may be slashed (see Slashing).

Read methods

getVerificationRequest

Fetches a request by its numeric ID:
VerificationRequest fields include resourceId, requester, level, status, approvalCount, rejectionCount, createdAt, and resolvedAt.

getVerificationFee

Returns the current fee in NOTA (wei units, 18 decimals) for a given level:

End-to-end example

Notary side: attesting

A validator monitors VerificationRequested events, loads the referenced .nota file (typically from the requester or IPFS), runs its policy checks, and submits an attestation:
On quorum, the registry’s verificationLevel is updated automatically and the attesting validators become eligible for fee distribution in the next epoch.