identity sub-module interacts with the contract. All write operations (verify, batchVerify, revoke, and the claim methods) result in on-chain transactions signed by a registered wallet on your instance.
Write operations wait for on-chain confirmations inside the request, so expect them to take tens of seconds. The SDK raises its own timeout for these calls automatically (180s, proof claims 420s).
Verify an identity
Registers an address as KYC-verified on the IdentityRegistry. The address can then participate in compliant token transfers. PasskycHash with the root hash from the KYC proof tool - it is stored on-chain verbatim and later checked when adding proof-backed claims. If the address already has an active on-chain identity, it is updated instead of failing; result.operation tells you which happened.
Verify from a proof manifest
verifyFromManifest reads the wallet address, root hash, and verification parameters (country, investor type, expiry days) straight from the bundle’s manifest.json. Overrides win where given.
HASH_MISMATCH.
Batch verify
Verify up to 500 addresses in a single on-chain transaction. Significantly more gas-efficient than individual calls for bulk onboarding. Give each entry its ownkycHash - the rows of the proof tool’s batch CSV map directly onto entries.
Revoke an identity
Permanently marks an address as revoked on the IdentityRegistry. Revoked addresses cannot send or receive compliant tokens.Get identity status
Returns combined on-chain and off-chain status for an address. The on-chain data comes from the IdentityRegistry contract; the off-chain data comes from the Trusset database.offChain is null. If the address was never verified on-chain, onChain.isVerified is false with a status of none.
On-chain claims
Claims attach typed attestations to a verified identity. Four types derive from a KYC proof bundle, four are added manually:Read claims
Claims from a proof
Adds every claim the bundle can back (or aselected subset). The wallet must already be verified on-chain with the manifest’s root hash - the backend compares them before sending any transaction. One transaction is sent per claim; per-claim outcomes are reported individually.
NOT_VERIFIED, HASH_MISMATCH, WALLET_MISMATCH, STUB_NOT_ALLOWED, INVALID_MANIFEST, NO_SELECTED_CLAIMS - see the troubleshooting table.
Manual claims
For attestations that come from your own screening processes rather than the proof tool. Provide either a pre-computed 32-bytedataHash or a dataInput string the backend hashes for you.
PROOF_REQUIRED. Re-adding an existing claim type overwrites it.
