π€ΉββοΈIncremental Token Gating
A guide to start incremental token gating anything in minutes.
Requirements
βοΈStart Here: SetupπͺToken Gating (Ethereum / EVM)π€ΊToken Gating (Solana)π€ΉIncremental AuthorizationIncremental Token Gating
1. Log In the User
import Picket from "@picketapi/picket-js";
const picket = new Picket('YOUR_PUBLISHABLE_KEY_HERE');
const { accessToken, user } = await picket.login({
// specify the chain
chain: "polygon"
});import { PicketProvider, usePicket } from "@picketapi/picket-react";
function MyApp({ children }) {
return (
<PicketProvider apiKey="YOUR_PUBLISHABLE_KEY_HERE">
{children}
</PicketProvider>
);
}
function MySecurePage() {
const {
isAuthenticating,
isAuthenticated,
authState,
logout,
login
} = usePicket();
// user is logging in
if (isAuthenticating) return "Loading";
// user is not logged in
if (!isAuthenticated) {
return (
<div>
<p>You are not logged in!</p>
<button onClick={() => login({
chain: "polygon"
)}}>
Login with Wallet
</button>
</div>
)
}
// user is logged in π
const { user } = authState;
const { displayAddress } = user;
return (
<div>
<p>You are logged in as {displayAddress} </p>
<button onClick={() => logout()}>Logout</button>
</div>
)
}2. Token Gate Specific Actions or Content
Using Access Tokens
πWorking with Access TokensLast updated