@privy-io/js-sdk-core
Version:
Vanilla JS client for the Privy Auth API
65 lines (48 loc) • 1.74 kB
Markdown
is a low-level library and **not intended for general consumption.**
>
> **Before building, please reach out to the Privy team** to discuss your project and which Privy SDK options may be better suited to it.
```tsx
const privy = new Privy({appId: '<your-app-id-here>'});
await privy.auth.sms.sendCode('+1 555 555 5555');
const {user} = await privy.auth.sms.loginWithCode('+1 555 555 5555', '123123');
```
```tsx
// Or use the embedded wallet with viem
import {createWalletClient, custom} from 'viem';
// Initialize the client
const privy = new Privy({appId: '<your-app-id-here>'});
// Log in
await privy.auth.sms.sendCode('+1 555 555 5555');
const {user} = await privy.auth.sms.loginWithCode('+1 555 555 5555', '123123');
// Create an embedded wallet
const wallet = await privy.embeddedWallet.create();
// Use the embedded wallet
const accounts = await wallet.request({method: 'eth_requestAccounts'});
const response = await wallet.request({
method: 'eth_sendTransaction',
params: [
{
from: accounts[0],
to: '0x0000000000000000000000000000000000000000',
value: '1',
},
],
});
// create a viem client from the privy embedded wallet
const viemWalletClient = createWalletClient({
chain: mainnet,
transport: custom(wallet),
});
// use viem to sign a message
await viemWalletClient.signMessage({
message: 'Hello from Privy!!',
account: wallet.address,
});
```
Our [changelog](https://docs.privy.io/changelogs/js-sdk-core) contains the latest information about new releases, including features, fixes, and upcoming changes.
We use [Semantic Versioning](https://semver.org/) to track changes.
> 🔧 The Privy JS SDK