Skip to main content
POST
Revokes a wallet’s identity on the register your instance writes to, and marks the customer record revoked. Use it when a customer fails ongoing compliance checks or their verification must be invalidated.
On an ERC-3643 register, revoking deletes the wallet’s entry from the register and nothing else. The ONCHAINID and its KYC claim stay as they are. To invalidate the claim as well, call Revoke Claim first. Once the entry is deleted, the claim can no longer be found through the wallet.
Both registers answer with one transaction. What it does depends on registerKind: Call it once without txHash to get the calldata, and again with txHash once the transaction is mined. The record is updated on the second call.

Body Parameters

string
required
The wallet to revoke. Checksummed or lowercase.
string
ERC-3643 only. Returned as signerAddress, in place of your primary wallet. The API does not check it.
string
The hash of the mined transaction. Send it to confirm the revocation and update the record. Omit it to receive the calldata.

Response Fields

object

Before the calldata

On a Trusset register, the API refuses with REGISTER_OPERATOR_ROLE_MISSING when it can read that none of your instance’s wallets holds the role. Grant it with Grant on-chain roles on the wallet page of the issuer app (see Customers). On the Trusset ID Register, which every instance without a register of its own shares, it refuses with IDENTITY_HELD_BY_ANOTHER_ISSUER when the identity was registered by a wallet that is not one of your instance’s, and with CHAIN_UNAVAILABLE when the register cannot be read to tell. A wallet with no active identity there is refused with 409 IDENTITY_NOT_REGISTERED, because revoking it would revert on chain. On an ERC-3643 register, it refuses with REGISTRY_AGENT_MISSING when none of your instance’s wallets is an agent. It refuses with NOT_REGISTERED when the wallet is not on the register.

Confirm

The confirm leg checks that the transaction is mined, succeeded, and calls revokeIdentity or deleteIdentity on the register for the wallet you named. A receipt for a different wallet is refused with TX_TARGET_MISMATCH, and nothing changes. On the Trusset ID Register the transaction must be signed by a verified wallet of your instance, or the confirm is refused with UNAUTHORIZED_SIGNER. The revocation is recorded once in your instance’s verification history as a REVOKE entry with the transaction and its signer. It then sets the customer record for that wallet to revoked with revokedAt, archived or not. When no record exists, nothing is written and the call still succeeds. Revoking on your instance register does not take the wallet off an eligibility register. The confirm queues that removal, with reason REVOKED, from every eligibility register the wallet is on, and cancels its admissions still waiting. Until your wallet signs the removal, lending markets and vaults that read the eligibility register still admit the wallet. See Eligibility registers.

Error Codes