Skip to main content
All PSR admin methods take chain: "ethereum" | "solana" as the first argument and return chain-neutral types.

Types

CreateSchemaParams

IssueAttestationParams

PsrExpiryInput


Schema lifecycle

createSchema(chain, params)

Register a new schema. Returns tx hash and derived schemaId.
Signers: EVM wallet or Solana wallet per chain.

getMySchemas(chain)

List schemas where this wallet is authority or delegate.
Read-only; no signer required beyond RPC / Solana connection.

deprecateSchema(chain, schemaId)

Authority-only. Irreversibly blocks new attestations.

addSchemaDelegate(chain, schemaId, delegate)

Authorize another address to issue under this schema (max 10).

removeSchemaDelegate(chain, schemaId, delegate)

Revoke delegate issuance rights.

Attestations

issueAttestation(chain, params)

Issue a schema-bound V2 attestation to a stealth identity. Resolves the recipient, encodes fields, submits attest, and optionally announces with V2 0xB2 metadata so the recipient can discover it with discoverTraitsV2.

getMyIssuedAttestations(chain)

List attestations issued by this wallet.

Legacy V1 issuer helpers

encodeReputationMetadata(viewTag, attestationId)

Encode legacy V1 PSR metadata bytes for announce (viewTag || 0xA7 || attestationId). New schema-bound attestations issued by issueAttestation use V2 metadata instead.

prepareReputationAssignment(recipientMetaAddressHex, attestationId)

Derive stealth send material with legacy V1 PSR metadata embedded.

buildAssignReputationTransaction(recipientMetaAddressHex, attestationId)

Calldata for a legacy V1 announce-with-PSR-metadata transaction (no asset transfer).

Full issuer E2E (Ethereum)

See Create a schema and Issue an attestation for step-by-step guides.