# Lit Protocol Documentation ## Docs - [What is Lit Protocol](https://litprotocol-feat-rusk-sdk.mintlify.site/index.md): Decentralized key management and private compute - [How it Works](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/how-it-works.md): How Does Lit Protocol Work? - [Security Model](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/security.md): How Lit Protocol keeps data and assets secure - [Node Architecture](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/node-architecture.md) - [Distributed Key Generation](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/distributed-key-generation.md) - [On-Chain Coordination Mechanisms](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/on-chain-coordination-mechanisms.md) - [Communicating with Lit Nodes](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/communicating-with-lit-nodes.md) - [Cryptoeconomic Security](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/cryptoeconomic-security.md) - [Backup and Recovery](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/backup-and-recovery.md) - [Threshold Cryptography](https://litprotocol-feat-rusk-sdk.mintlify.site/learning-lit/threshold-cryptography.md) - [Introduction](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/introduction.md): Explore our JS SDK for building applications with Lit Protocol - [Rust SDK (Naga)](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/rust-sdk.md): How to use the experimental Rust SDK for Lit Protocol Naga (v1) - [Faucet](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/getting-started/prerequisites/faucet.md) - [Chain Config](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/getting-started/prerequisites/chain-config.md) - [Lit Client Setup](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/getting-started/lit-client.md): Configure the Lit Protocol client for the Lit JS SDK - [Auth Manager Setup](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/getting-started/auth-manager.md): Configure the authentication manager with storage options and auth methods - [Payment Manager Setup](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/getting-started/payment-manager-setup.md): Configure payment system for the Lit JS SDK - [Auth Services Setup](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/getting-started/auth-services.md): Configure auth services for the Lit JS SDK - [EOA (External Owned Account)](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-eoa-auth.md): Externally Owned Account (EOA) authentication uses your existing Ethereum account to authenticate and mint PKPs. You can either use a private key or connect your wallet. - [Google (SSO)](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-google-auth.md): Google Authentication uses your Google account to authenticate via the Lit Login Server or your own Login Server. This can be used to mint a PKP and then sign messages. - [Discord (SSO)](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-discord-auth.md): Discord Authentication uses your Discord account to authenticate via the Lit Login Server or your own Login Server. This can be used to mint a PKP and then sign messages. - [WebAuthn](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-webauthn-auth.md): WebAuthn Authentication uses your device's secure hardware (such as fingerprint sensor, facial recognition, or security key) to authenticate you via the FIDO2/WebAuthn standard. This can be used to mint a PKP and then sign messages. - [Stytch Email OTP](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-stytch-email-otp-auth.md): Stytch Email OTP Authentication uses Stytch's Email OTP service to authenticate users through email verification. This method sends a one-time password (OTP) to your email address, which you then use to verify your identity and mint a PKP. - [Stytch SMS OTP](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-stytch-sms-otp-auth.md): Stytch SMS OTP Authentication uses Stytch's SMS OTP service to authenticate users through mobile phone verification. This method sends a one-time password (OTP) to your phone number, which you then use to verify your identity and mint a PKP. - [Stytch WhatsApp OTP](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-stytch-whatsapp-otp-auth.md): Enter your phone number to receive a one-time password (OTP) via WhatsApp. The OTP will be sent through Stytch's WhatsApp service via your backend to your WhatsApp account. - [(2FA) Stytch TOTP](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-native-auth/pkp-stytch-2fa-totp-auth.md): Stytch TOTP 2FA Authentication is a secondary authentication method that adds an extra layer of security using TOTP (Time-based One-Time Password) from authenticator apps like Google Authenticator, Authy, or 1Password. - [PKP Custom Authentication](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/pkp-custom-auth/pkp-custom-auth.md): Implement custom PKP authentication methods with Lit Actions - [EOA Authentication](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth/eoa/eoa-auth.md): EOA Auth demonstrates direct EOA usage for PKP management. Your EOA owns and directly manages PKPs, including minting, setting permissions, and viewing permissions. This approach gives you full control over PKP management. - [PKP Sign](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth-context-consumption/pkp-sign.md): Use your PKP to sign a message with the selected chain and scheme. The signing operation will automatically find the most optimised price, or you can specify a custom maximum price using the userMaxPrice parameter. - [Execute Javascript](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth-context-consumption/execute-js.md): Execute custom Lit Actions using your authenticated context. Choose between custom code or IPFS-stored actions. The execution will automatically find the most optimised price, or you can specify a custom maximum price using the userMaxPrice parameter. - [Encrypt and Decrypt](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth-context-consumption/encrypt-and-decrypt.md): Demonstrates the complete encrypt/decrypt flow using official access control conditions builder. Alice encrypts data, Bob decrypts it using properly configured access control conditions. - [Wrapped Keys](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/auth-context-consumption/wrapped-keys.md): Manage generated or imported keys through Lit’s wrapped-keys service by delegating a PKP session and calling the specialised APIs for EVM and Solana. - [PKP Viem Account](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/lit-client/functions/createLitClient/pkp-viem-account.md) - [PKP Permissions](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/lit-client/functions/createLitClient/pkp-permissions.md) - [PKP View Helpers](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/lit-client/functions/createLitClient/pkp-view-helpers.md) - [createAccBuilder](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/access-control-conditions/functions/createAccBuilder.md) - [getIpfsId](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/lit-client/functions/getIpfsId.md): Generate CIDv0 hashes with the Lit Client IPFS helper - [createLitClient](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/lit-client/functions/createLitClient.md) - [createAuthManager](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/auth/functions/createAuthManager.md) - [generatePkpDelegationAuthSig](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/auth/functions/generatePkpDelegationAuthSig.md) - [generateEoaDelegationAuthSig](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/auth/functions/generateEoaDelegationAuthSig.md) - [validateDelegationAuthSig](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/auth/functions/validateDelegationAuthSig.md) - [createPkpAuthContextFromPreGenerated](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/auth/functions/createPkpAuthContextFromPreGenerated.md) - [createPkpSessionSigs](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/auth/functions/createPkpSessionSigs.md) - [withOverrides](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/networks/functions/withOverrides.md) - [@lit-protocol/wrapped-keys](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/index.md): Reference for the wrapped-keys SDK helpers that manage encrypted private keys via Lit Actions. - [generatePrivateKey](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/generatePrivateKey.md) - [exportPrivateKey](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/exportPrivateKey.md) - [importPrivateKey](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/importPrivateKey.md) - [getEncryptedKey](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/getEncryptedKey.md) - [listEncryptedKeyMetadata](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/listEncryptedKeyMetadata.md) - [storeEncryptedKey](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKey.md) - [storeEncryptedKeyBatch](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/storeEncryptedKeyBatch.md) - [batchGeneratePrivateKeys](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/batchGeneratePrivateKeys.md) - [signMessageWithEncryptedKey](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/signMessageWithEncryptedKey.md) - [signTransactionWithEncryptedKey](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/sdk-reference/wrapped-keys/functions/signTransactionWithEncryptedKey.md) - [Supported EVM Chains](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/resources/supported-evm-chains.md) - [Network Status & Health Monitoring](https://litprotocol-feat-rusk-sdk.mintlify.site/sdk/resources/network-status.md) - [Derive Lit Action Public Keys](https://litprotocol-feat-rusk-sdk.mintlify.site/guides/lit-action-sign-as-action.md): Deterministically derive and verify a Lit Action identity without executing it externally. - [Server Sessions](https://litprotocol-feat-rusk-sdk.mintlify.site/guides/server-sessions.md): Delegate a PKP to an ephemeral session key and hand that scoped capability to backend services that mint fresh session signatures on demand. - [FAQ](https://litprotocol-feat-rusk-sdk.mintlify.site/faqs/index.md): Common questions about using the Lit JS SDK - [Changelog](https://litprotocol-feat-rusk-sdk.mintlify.site/changelog.md): Keep track of changes and updates across the Lit JS SDK packages - [Overview](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/overview.md) - [Governance Architecture](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/governance-architecture.md) - [Lit Improvement Proposals (LIPs)](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/lit-improvement-proposals.md) - [Overview](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/litkey/overview.md) - [Getting $LITKEY](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/litkey/getting-litkey.md) - [Initial Allocation and Distribution](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/litkey/initial-allocation-and-distribution.md) - [Staking and Delegation](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/litkey/staking.md) - [Lit Chain](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/litkey/lit-chain.md) - [Token Bridging and Contract Addresses](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/litkey/bridging-and-addresses.md) - [Lit Protocol Airdrop: Season 1](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/airdrop/overview.md) - [Season 1 Eligibility Criteria](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/airdrop/eligibility-criteria.md) - [Claiming Tokens](https://litprotocol-feat-rusk-sdk.mintlify.site/governance/airdrop/claiming.md) - [Overview](https://litprotocol-feat-rusk-sdk.mintlify.site/node-ops/overview.md) - [Requirements and Expectations](https://litprotocol-feat-rusk-sdk.mintlify.site/node-ops/requirements.md) - [Staking and Delegation](https://litprotocol-feat-rusk-sdk.mintlify.site/node-ops/staking-and-delegation.md) - [Logistics](https://litprotocol-feat-rusk-sdk.mintlify.site/node-ops/staking-contest/logistics.md) - [Whitelisting your Node](https://litprotocol-feat-rusk-sdk.mintlify.site/node-ops/staking-contest/registration.md) - [Acquiring Stake](https://litprotocol-feat-rusk-sdk.mintlify.site/node-ops/staking-contest/acquire-stake.md)