Identity registry
Onboard new investors, update countries, look up any wallet's KYC status. Identity rows are required before an investor can claim minted shares from any fund.
Identity lookup
Register identity (admin)
Creates an identity row binding the investor wallet to a country. In the demo path the identity contract is set to the wallet itself.
Connected wallet is not the identity registry admin.
Update country (admin)
Change an investor's country (e.g. relocation, or restricted-country demo). Affects all funds that use a CountryRestrict module.
How it works
The IdentityRegistry is a shared ONCHAINID-style ERC-7201 singleton. One row per investor wallet stores:
identityaddress (in the demo path: the investor's own EOA; in production: an ONCHAINID contract holding claims)countryISO-3166 numeric code (used by CountryRestrict to gate transfers)
Token _update requires isVerified(to) before any mint or non-vault transfer. Vault deposit-claims that try to mint to a non-registered wallet revert "SeBearToken: recipient not verified".