> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

The Verifiable Credentials Client SDK is a powerful tool for managing verifiable credentials. It simplifies several key processes, making it easier to work with these credentials.

<Note> NOTE: The SDK can be used also server-side.</Note>

You can download the SDK from [here](https://www.npmjs.com/package/@crossmint/client-sdk-verifiable-credentials).

The SDK assists with the following processes:

* **Verification**: The SDK provides a straightforward method to verify any given credential.

* **Presentation**: By inputting a user's wallet address, the SDK allows you to retrieve all credentials issued to that address. It also provides a filtering option for easy navigation through the credentials.

* **Decryption**: In case of encrypted credentials, the SDK enables you to decrypt a credential for a specific user interacting with the lit protocol.

Generate a client-side-api-key from the Crossmint console: Go to the `Developers -> API Keys` tab, click on `New API Key` in the `Client-side keys` section, and select the scopes `credentials.read` and `credentials.decrypt`.

```typescript theme={null}
import { CrossmintAPI } from "@crossmint/verifiable-credentials";

CrossmintAPI.init("<api_key>");
```

## SDK Reference Table of Contents

### Classes

* [ContractMetadataService](./classes/ContractMetadataService)
* [CredentialService](./classes/CredentialService)
* [CrossmintDecrypt](./classes/CrossmintDecrypt)
* [CrossmintMetamaskDecrypt](./classes/CrossmintMetamaskDecrypt)
* [Lit](./classes/Lit)
* [WalletAuthService](./classes/WalletAuthService)

### Interfaces

* [Collection](./interfaces/Collection)
* [CredentialFilter](./interfaces/CredentialFilter)
* [CredentialMetadata](./interfaces/CredentialMetadata)
* [CredentialsCollection](./interfaces/CredentialsCollection)
* [EncryptedVerifiableCredential](./interfaces/EncryptedVerifiableCredential)
* [VCNFT](./interfaces/VCNFT)
* [VerifiableCredential](./interfaces/VerifiableCredential)
* [VerifiableCredentialEncryption](./interfaces/VerifiableCredentialEncryption)

### Type Aliases

* [ChainRPCConfig](./type-aliases/ChainRPCConfig)
* [VCChain](./type-aliases/VCChain)
* [VerifiableCredentialType](./type-aliases/VerifiableCredentialType)

### Variables

* [VCChain](./variables/VCChain)
* [crossmintAPI](./variables/crossmintAPI)
* [crossmintRetrievalProcedure](./variables/crossmintRetrievalProcedure)
* [ipfsRetrievalProcedure](./variables/ipfsRetrievalProcedure)

### Functions

* [getCredentialNFTFromLocator](./functions/getCredentialNFTFromLocator)
* [getCredentialNfts](./functions/getCredentialNfts)
* [isCredentialType](./functions/isCredentialType)
* [isEncryptedVerifiableCredential](./functions/isEncryptedVerifiableCredential)
* [isVcChain](./functions/isVcChain)
* [isVerifiableCredential](./functions/isVerifiableCredential)
* [verifyCredential](./functions/verifyCredential)

### Enumerations

* [VerifiableCredentialEncryptionType](./enumerations/VerifiableCredentialEncryptionType)
