About attestations
Attestations or claims are characteristics that can be attached to a Polymesh Account. These attestations will be used to check if an identity meets token transfer rules at the time of transfer. Attestations can be changed at any time and can be attached to a DID by any approved attestation provider.
Attestation providers can be added by token issuers in the Polymesh Portal, Polymath Token Studio, or in the Polymesh app.
Add approved attestation providers with the Polymesh app
Transfer rules are based on which identity attestations your token supports. Only attestations made by your approved attestation provider(s) will be checked for token transfers.
Open the Polymesh App then fill in the data:
- using the selected account: Select the account you want to sign the transaction. It should be the owner of the asset.
-
submit the following extrinsic: Select
complianceManager
thenaddDefaultTrustedClaimIssuer
Click here to see this image at full resolution. -
assetId: Enter the Asset ID to the assetId field.
Click here to see this image at full resolution.
Note: Use a HEX converter like this one. For the Output delimiter string, select "None".
Example: Your Asset ID is "ASSETIDTEST", which is "4153534554494454455354" in HEX. This HEX value should be padded with zeros to be 16 bytes like "0x4153534554494454455354000000000" with a 0x prefix, so the value you should enter is "0x544553544B4E00000000000".
Shorter Asset ID's than 16 characters in HEX should be also padded with zeros up to 16 characters. ASCII characters are also allowed, but should be padded with spaces up to 16 characters. -
issuer: Enter the DID of the trusted claim issuer. It should be a verified Polymesh account that begins with 0x.
Click here to see this image at full resolution. -
trustedFor: Here you can select the conditions of the attestation
- Any: Any of the attestations above.
- Specific: If you select Specific then you can add attestations like:
- Affiliate: This is an attestation that a DID is related to your company/organization in any way.
- BuyLockup: This is an attestation that an individual or entity may not receive a security token until a specified date.
- SellLockup: This is an attestation that an individual or entity may not transfer a security token until a specified date.
- KnowYourCustomer: This is an attestation that a Know Your Customer ("KYC") check has been conducted.
- Jurisdiction: This is an attestation about the country that a DID resides in. This claim type includes the country code of the user's jurisdiction.
- Exempted: This is a catch-all attestation where a DID may not meet the other claim types but you still want them to be considered with respect to your token rule.
- Blocked: This is an attestation that a DID may be blocked from receiving your security token.
-
Custom: This allows the possibility to attach non-default claim types which can further expand the options available to be used with compliance rules.
Click here to see this image at full resolution.
Note that InvestorUniqueness, InvestorUniquenessV2, and CustomerDueDiligence claim types are not callable, and thus should not be used within any compliance rules.
-
When all data are filled, click on
Submit Transaction
then confirm and sign the transaction with your wallet.
Manage attestations with the Polymesh app
Attestations are characteristics that can be attached to a Polymesh account. You or your approved attestation provider(s) can attach attestations to the Polymesh accounts of your prospective tokenholders so that they can send and receive your token if they meet your token compliance rules. Attestations can be added, changed, or removed at any time.
In order to manage attestations for your asset, follow the process below:
Open the Polymesh App then fill in the data:
- using the selected account: Select the account you want to sign the transaction. It should be the owner of the asset.
-
submit the following extrinsic: Select
identity
thenaddClaim(target, data, expriy)
- target: Select the account you want to sign the transaction. It should be the owner of the asset.
-
claim: Select the attestation you would like to issue for your asset. You can find the list of available attestations in the previous step. In this example, we choose the Accredited attestation.
-
claimScope: Here you can select the scope of the attestation. You can choose from three options:
- Identity: This scope is applied to a specific identity. This can allow an issuer to reuse the identity claims across multiple assets they have issued.
- Asset: This scope is applied to a specific asset. This is the most restrictive scope as claims must specifically be created for this asset, but provides the most granular control of identity claims.
- Custom: This is a custom scope type. A value is required.
-
Identity/Ticker/Custom: Enter the target identity or asset ID. For Custom scope type, a value can be entered in ASCII. In this example, we enter an identity.
expiry: This is an optional expiry time for this specific attestation. Enter the expiry date and time in Unix timestamp format. You can use a converter like this one.
-
When all data are filled, click on
Submit Transaction
then confirm and sign the transaction with your wallet.
Possible Errors and Solutions
- MissingCurrentIdentity: Missing current identity on the transaction. Check whether the identity of the caller is valid.
- Unauthorized: The user is not authorized or the signatory is not pre-authorized by the identity. Check whether the signing identity is an authorized attestation provider.
- TargetHasNoCdd: The target DID has no valid CDD. The target must be onboarded to Polymesh.
- CustomScopeTooLong: A custom scope is too long. It can at most be `32` characters long.
- ClaimDoesNotExist: Claim does not exist. Try to call a different claim.
Comments
0 comments
Please sign in to leave a comment.