Attestations
Claims with an issuer, a lifecycle and a proof.
An attestation is a claim by an attester about a subject, shaped by a schema. It can expire, be revoked now or on a schedule, become a credential, and be proven final with a light client proof.
const { data } = await client.createAttestation({
schemaUid,
subject: 'eip155:8453:0x4b8a...', // or a NEAR account
data: encoder.encode({ name: 'Bob', level: 3, verified: true }),
expirationTime: Math.floor(Date.now() / 1000) + 365 * 86400,
});
await client.isValid(data.attestationUid); // { valid: true }
await client.scheduleRevocation(data.attestationUid, revokeAt);
await client.mintCredential(data.attestationUid); // NEP-171, burns on revokeSubjects on any chain
A NEAR account or a CAIP-10 id on Ethereum, Base, Solana and more. Link wallets to NEAR accounts by their own signatures.
Pending until resolved
With a resolver, an attestation waits while the resolver decides across contracts; a refusal rolls it back with a storage refund.
Delegates and multisigs
Authorities let employees, bots and agents attest within a scope and expiry, or require k of n members to approve.
Signed off chain, submitted by anyone
NEP-413 requests with a deadline and a one-time nonce let a relayer pay the gas for the issuer.
Expiry and scheduled revocation
The contract computes both on every read; the keeper records them as events for indexers.
Credentials
Mint a non-transferable NEP-171 token to the subject; it burns when the attestation is revoked.