diff --git a/docs/pages/sdk/signers/particle.mdx b/docs/pages/sdk/signers/particle.mdx index 7987cac..b2ce6e0 100644 --- a/docs/pages/sdk/signers/particle.mdx +++ b/docs/pages/sdk/signers/particle.mdx @@ -1,40 +1,35 @@ # Use Particle Network with ZeroDev -[Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. +[Particle Network](https://particle.network) provides Wallet Abstraction services that make user onboarding easier. -By combining ZeroDev with Particle, you can use Particle to enable a smooth social login experience, while using ZeroDev as the smart wallet to sponsor gas for users, batch transactions, and more. +Using the [Particle Auth SDK](https://developers.particle.network/api-reference/auth/desktop-sdks/web), you can enable quick, 2-click onboarding through social logins. Users can sign up with familiar Web2 options like Google, email, or phone numbers. Particle ensures both security and convenience by employing MPC-TSS for secure key management. + +Integrating ZeroDev with Particle Auth enables a seamless social login experience through Particle, while leveraging ZeroDev as the smart wallet to handle gas fee sponsorship, transaction batching, and additional advanced features. ## Set up -To use Particle Network with ZeroDev, first create an application that integrates with Particle Network. +To integrate Particle Network with ZeroDev, start by creating a Particle Auth application: -- Refer to the [Particle Network documentation site](https://docs.particle.network/) for instructions on setting up an application with the Particle Network. -- For a quick start, Particle Network provides a guide, available [here](https://docs.particle.network/getting-started/get-started). +1. Refer to the [Particle Quickstart guide](https://developers.particle.network/guides/wallet-as-a-service/waas/auth/web-quickstart) to quickly set up a Particle Auth project. ## Integration -Integrating ZeroDev with Particle Network is straightforward after setting up the project. Particle Network provides an Externally Owned Account (EOA) wallet to use as a signer with Kernel. + +Integrating ZeroDev with Particle Auth is straightforward after setting up the project. Particle Auth provides an Externally Owned Account (EOA) wallet to use as a signer with Kernel. ### Create the Particle Network object -After following the Particle Network documentation, you will have access to a `ParticleProvider` object as shown below: + +Once your Particle Auth project is set up, you will have access to a `provider` object through the `useEthereum()` hook, as shown below. ```typescript -import { ParticleNetwork } from "@particle-network/auth"; -import { ParticleProvider } from "@particle-network/provider"; - -// Param options here will be specific to your project. See the Particle docs for more info. -const particle = new ParticleNetwork({ - projectId, - clientKey, - appId, - chainName, - chainId, -}); -const particleProvider = new ParticleProvider(particle.auth) +import { useEthereum } from "@particle-network/authkit"; + +// Inside your component or app function +const { provider } = useEthereum(); ``` ### Use with ZeroDev -Use the provider from Particle Network to create a smart account signer, which can be passed to a validator. For detailed guidance on using a validator, refer to our documentation on [creating accounts](/sdk/core-api/create-account#api). +Use the `provider` from Particle Network to create a smart account signer, which can be passed to a validator. For detailed guidance on using a validator, refer to our documentation on [creating accounts](/sdk/core-api/create-account#api). ```typescript import { signerToEcdsaValidator } from "@zerodev/ecdsa-validator" @@ -43,8 +38,8 @@ import { providerToSmartAccountSigner, ENTRYPOINT_ADDRESS_V07 } from 'permission import { createPublicClient } from "viem"; import { polygonAmoy } from 'viem/chains'; -// Convert the particleProvider to a SmartAccountSigner -const smartAccountSigner = await providerToSmartAccountSigner(particleProvider); +// Convert the Particle provider to a SmartAccountSigner +const smartAccountSigner = await providerToSmartAccountSigner(provider); const publicClient = createPublicClient({ transport: http('https://rpc-amoy.polygon.technology'),