Wallet Registration
Regardless of whether a wallet is a local signer, external signer, or MPC wallet, historical data for a wallet can only be served if it is registered within Node's system. There are two different models are wallet registration available to tenants:
- Privacy Preserving
- Metadata Enriched
Privacy-Preserving vs Metadata-Enriched
Privacy preserving, as the name implies, does not record any data on a wallet besides what is absolutely necessary. This means info is only stored that is publicly accessible via on-chain activity. No off-chain information is collected.
Metadata enriched stores offchain metadata for each wallet under a tenant. Per wallet, this includes:
- Device type
- Operating system
- Operating system version
- Manufacturer
- Carrier (if on mobile)
- Device brand
- IP address of initial login
Additionally, per session per wallet the following info is recorded:
- IP address
From the IP address, we derive geolocation.
We expose these two very different models because in some cases the additional metadata is essential for an application-specific wallet, but in other cases developers/companies will not want to track any personal information for their users. We fully commit to only recording metadata on wallets when authorized by the tenant. The option to enable/disable this tracking is accessible via SDK, so it is also functionality that can default to the user to opt-in to.
The default option is privacy preserving, and tenants will have to opt-in to metadata-enriched via sdk.
Opt Out of Registration Entirely
In some cases a developer may want to entirely opt-out of registering a wallet with Node. This could be for keeping costs down, or for extreme privacy preservation (although privacy-preservation model only works off of on-chain data).
By default, a wallet will try to register itself in two areas:
- callback from
useCreateWallet
- callback from
useLoadWallet
In both cases, the payload to the callback can include an object of the shape:
interface RegistrationOptions {
registrationOptions: {
optInMetatdata: boolean;
doNotRegister: boolean;
};
}
Here, setting doNotRegister: true
will result in the wallet not being registered at all within Node's systems.
Enable Metadata-Enriched Model
By default, a wallet will try to register itself in two areas:
- callback from
useCreateWallet
- callback from
useLoadWallet
In both cases, the payload to the callback can include an object of the shape:
interface RegistrationOptions {
registrationOptions: {
optInMetatdata: boolean;
doNotRegister: boolean;
};
}
Here, setting optInMetatdata: true
will result in metadata-enriched model being used for the given wallet.