{"id":"e11f1781-6afd-435e-8db4-ac2f463692b1","shortId":"kLSCJG","kind":"skill","title":"privy-integration","tagline":"Integrates Privy authentication, embedded wallets, and agent payment protocols into web and agentic apps. Covers React SDK (PrivyProvider, hooks, wagmi), Node.js SDK, smart wallets (ERC-4337), x402 and MPP machine payments, Tempo chain, and agentic wallets with policies. Use when","description":"# Privy Integration\n\nPrivy provides authentication and wallet infrastructure for apps built on crypto rails. Embed self-custodial wallets, authenticate users via email/SMS/socials/passkeys/wallets, and transact on EVM and Solana chains. Also supports agent payment protocols (x402, MPP) and autonomous agentic wallets.\n\nKey packages:\n- `@privy-io/react-auth` - React SDK (auth + wallets + x402)\n- `@privy-io/react-auth/solana` - Solana wallet hooks\n- `@privy-io/react-auth/smart-wallets` - Smart wallets (ERC-4337)\n- `@privy-io/wagmi` - wagmi v2 connector\n- `@privy-io/node` - Server-side SDK (replaces deprecated `@privy-io/server-auth`)\n- `mppx` - MPP client/server SDK (settles on Tempo)\n\nDocs index: `https://docs.privy.io/llms.txt`\n\n## Workflow Decision Tree\n\n**Setting up Privy auth in a React app?** -> Quick Start below, then [references/react-sdk.md](references/react-sdk.md)\n**Adding wagmi/viem to a Privy app?** -> Wagmi Integration below, then [references/react-sdk.md](references/react-sdk.md)\n**Working server-side (Node.js)?** -> Server-Side section below, then [references/server-sdk.md](references/server-sdk.md)\n**Adding x402 or MPP payments?** -> x402/MPP sections below, then [references/agent-payments.md](references/agent-payments.md)\n**Building agentic wallets or agent auth?** -> Agentic Wallets below, then [references/agent-auth.md](references/agent-auth.md)\n**Solana-specific integration?** -> [references/solana.md](references/solana.md)\n**Wallet management (smart wallets, policies, funding)?** -> [references/wallets.md](references/wallets.md)\n\n## Quick Start (React + Next.js)\n\n### 1. Install\n\n```bash\nnpm i @privy-io/react-auth\n```\n\n### 2. Wrap app with PrivyProvider\n\n```tsx\n'use client';\nimport {PrivyProvider} from '@privy-io/react-auth';\n\nexport default function Providers({children}: {children: React.ReactNode}) {\n  return (\n    <PrivyProvider\n      appId={process.env.NEXT_PUBLIC_PRIVY_APP_ID!}\n      config={{\n        embeddedWallets: {\n          ethereum: {createOnLogin: 'users-without-wallets'}\n        }\n      }}\n    >\n      {children}\n    </PrivyProvider>\n  );\n}\n```\n\n### 3. Check readiness before using hooks\n\n```tsx\nimport {usePrivy} from '@privy-io/react-auth';\n\nfunction App() {\n  const {ready, authenticated, user} = usePrivy();\n  if (!ready) return <div>Loading...</div>;\n  // Safe to use Privy hooks now\n}\n```\n\n### 4. Login (email OTP example)\n\n```tsx\nimport {useLoginWithEmail} from '@privy-io/react-auth';\n\nfunction LoginForm() {\n  const {sendCode, loginWithCode} = useLoginWithEmail();\n  // sendCode({email}) then loginWithCode({code})\n}\n```\n\n### 5. Send a transaction (EVM)\n\n```tsx\nimport {useSendTransaction} from '@privy-io/react-auth';\n\nfunction SendButton() {\n  const {sendTransaction} = useSendTransaction();\n  return (\n    <button onClick={() => sendTransaction({to: '0x...', value: 100000})}>\n      Send\n    </button>\n  );\n}\n```\n\n## PrivyProvider Config\n\n```tsx\nconfig={{\n  // Auth methods enabled for login\n  loginMethods: ['email', 'sms', 'wallet', 'google', 'apple', 'twitter',\n                 'github', 'discord', 'farcaster', 'telegram', 'passkey'],\n\n  // Embedded wallet creation\n  embeddedWallets: {\n    ethereum: {createOnLogin: 'users-without-wallets'}, // or 'all-users' | 'off'\n    solana: {createOnLogin: 'users-without-wallets'}\n  },\n\n  // UI appearance\n  appearance: {\n    showWalletLoginFirst: false,\n    walletChainType: 'ethereum-and-solana', // or 'ethereum-only' | 'solana-only'\n    theme: 'light', // or 'dark'\n    accentColor: '#6A6FF5',\n    logo: 'https://your-logo.png'\n  },\n\n  // External wallet connectors (Solana)\n  externalWallets: {\n    solana: {connectors: toSolanaWalletConnectors()}\n  },\n\n  // Solana RPC config (required for embedded wallet UIs)\n  solana: {\n    rpcs: {\n      'solana:mainnet': {\n        rpc: createSolanaRpc('https://api.mainnet-beta.solana.com'),\n        rpcSubscriptions: createSolanaRpcSubscriptions('wss://api.mainnet-beta.solana.com')\n      }\n    }\n  }\n}}\n```\n\n## Wagmi Integration\n\nImport `createConfig` and `WagmiProvider` from `@privy-io/wagmi` (NOT from `wagmi`).\n\n```bash\nnpm i @privy-io/react-auth @privy-io/wagmi wagmi @tanstack/react-query\n```\n\n```tsx\nimport {PrivyProvider} from '@privy-io/react-auth';\nimport {WagmiProvider, createConfig} from '@privy-io/wagmi';\nimport {QueryClient, QueryClientProvider} from '@tanstack/react-query';\nimport {mainnet, base} from 'viem/chains';\nimport {http} from 'wagmi';\n\nconst queryClient = new QueryClient();\nconst wagmiConfig = createConfig({\n  chains: [mainnet, base],\n  transports: {[mainnet.id]: http(), [base.id]: http()}\n});\n\n// Nesting order: PrivyProvider > QueryClientProvider > WagmiProvider\nexport default function Providers({children}: {children: React.ReactNode}) {\n  return (\n    <PrivyProvider appId=\"your-app-id\" config={privyConfig}>\n      <QueryClientProvider client={queryClient}>\n        <WagmiProvider config={wagmiConfig}>{children}</WagmiProvider>\n      </QueryClientProvider>\n    </PrivyProvider>\n  );\n}\n```\n\nUse wagmi hooks (useAccount, useSendTransaction, etc.) for read/write actions. Use Privy hooks for wallet connection/creation.\n\n## Server-Side Token Verification\n\n```bash\nnpm i @privy-io/node\n```\n\n```ts\nimport {PrivyClient} from '@privy-io/node';\n\nconst privy = new PrivyClient({\n  appId: process.env.PRIVY_APP_ID!,\n  appSecret: process.env.PRIVY_APP_SECRET!\n});\n\n// Verify access token from Authorization header\nconst {userId} = await privy.verifyAuthToken(accessToken);\n```\n\n## Whitelabel Authentication\n\nAll auth flows can be fully whitelabeled with custom UI. Key hooks:\n\n| Hook | Auth method |\n|------|------------|\n| `useLoginWithEmail` | Email OTP (`sendCode`, `loginWithCode`) |\n| `useLoginWithSms` | SMS OTP |\n| `useLoginWithOAuth` | Social logins (`initOAuth({provider: 'google'})`) |\n| `useLoginWithPasskey` | Passkeys |\n| `useSignupWithPasskey` | Passkey signup |\n| `useLoginWithTelegram` | Telegram |\n| `useLogin` | General login with callbacks |\n\n## x402 Payments (Quick Start)\n\nBuilt into `@privy-io/react-auth` since v3.7.0. Handles HTTP 402 payment flows automatically using USDC.\n\n```tsx\nimport {useX402Fetch, useWallets} from '@privy-io/react-auth';\n\nfunction PaidContent() {\n  const {wallets} = useWallets();\n  const {wrapFetchWithPayment} = useX402Fetch();\n\n  const fetchContent = async () => {\n    const fetchWithPayment = wrapFetchWithPayment({\n      walletAddress: wallets[0]?.address,\n      fetch,\n      maxValue: BigInt(1000000) // Max 1 USDC\n    });\n    const res = await fetchWithPayment('https://api.example.com/premium');\n    return res.json();\n  };\n}\n```\n\nServer-side (Node.js):\n```ts\nimport {createX402Client} from '@privy-io/node/x402';\nimport {wrapFetchWithPayment} from '@x402/fetch';\n\nconst x402client = createX402Client(privy, {walletId: wallet.id, address: wallet.address});\nconst fetchWithPayment = wrapFetchWithPayment(fetch, x402client);\nconst response = await fetchWithPayment('https://api.example.com/premium');\n```\n\n## MPP Payments (Quick Start)\n\nMPP (Machine Payments Protocol) settles on Tempo using stablecoins (PathUSD, USDC, or others). Supports sessions for high-frequency payments.\n\n```ts\nimport {Mppx, tempo} from 'mppx/client';\n\n// Create Privy-backed viem account (see references/agent-payments.md for full pattern)\nconst account = createPrivyAccount(wallet.id, wallet.address);\n\nconst mppx = Mppx.create({polyfill: false, methods: [tempo({account})]});\nconst response = await mppx.fetch('https://api.example.com/weather');\n```\n\n## Agentic Wallets (Quick Start)\n\nServer-controlled wallets with policy-based constraints for autonomous agents.\n\n```ts\n// Create agent wallet\nconst wallet = await privy.wallets().create({chain_type: 'ethereum'});\n\n// Execute transactions - validated against attached policies\nconst {hash} = await privy.wallets().ethereum().sendTransaction(wallet.id, {\n  caip2: 'eip155:8453',\n  params: {transaction: {to: '0x...', value: '0x1', chain_id: 8453}}\n});\n```\n\nTwo control models: **agent-controlled** (fully autonomous, developer-owned) and **user-owned with agent signers** (user retains revocation authority). See [references/agent-auth.md](references/agent-auth.md) for policy examples and setup.\n\n## Reference Docs\n\nRead the appropriate reference file for detailed integration guides:\n\n- **[references/react-sdk.md](references/react-sdk.md)** - All React hooks, PrivyProvider config, wagmi/viem setup, appearance config, whitelabel patterns, wallet UI components\n- **[references/server-sdk.md](references/server-sdk.md)** - Node.js SDK (`@privy-io/node`), token types and verification, user management API, REST API, webhooks\n- **[references/wallets.md](references/wallets.md)** - Embedded wallets (EVM + Solana), smart wallets (ERC-4337), gas sponsorship, external connectors, policies and controls, funding, wallet export\n- **[references/solana.md](references/solana.md)** - Solana-specific setup, connectors, @solana/kit and @solana/web3.js integration, transaction signing, gas sponsorship via fee payer\n- **[references/agent-payments.md](references/agent-payments.md)** - x402 protocol (React + Node.js), MPP with mppx SDK (client + server), Tempo blockchain (PathUSD, TIP-20), sessions, facilitators, x402 vs MPP comparison\n- **[references/agent-auth.md](references/agent-auth.md)** - Agentic wallets (policies, authorization keys, OpenClaw), Agent Auth Protocol (per-agent identity, capabilities), MCP authorization, Better Auth bridge\n\n## Key Documentation URLs\n\n| Topic | URL |\n|-------|-----|\n| Full docs index (LLM-friendly) | https://docs.privy.io/llms.txt |\n| React setup | https://docs.privy.io/basics/react/setup |\n| React quickstart | https://docs.privy.io/basics/react/quickstart |\n| Auth overview | https://docs.privy.io/authentication/overview |\n| Whitelabel auth | https://docs.privy.io/authentication/user-authentication/whitelabel |\n| Tokens (access/refresh/identity) | https://docs.privy.io/authentication/user-authentication/tokens |\n| Wallets overview | https://docs.privy.io/wallets/overview |\n| Wagmi integration | https://docs.privy.io/wallets/connectors/ethereum/integrations/wagmi |\n| Viem integration | https://docs.privy.io/wallets/connectors/ethereum/integrations/viem |\n| Smart wallets | https://docs.privy.io/wallets/using-wallets/evm-smart-wallets/overview |\n| Smart wallets SDK config | https://docs.privy.io/wallets/using-wallets/evm-smart-wallets/setup/configuring-sdk |\n| Gas sponsorship | https://docs.privy.io/wallets/gas-and-asset-management/gas/overview |\n| Gas on Ethereum | https://docs.privy.io/wallets/gas-and-asset-management/gas/ethereum |\n| Gas on Solana | https://docs.privy.io/wallets/gas-and-asset-management/gas/solana |\n| Node.js SDK quickstart | https://docs.privy.io/basics/nodeJS/quickstart |\n| Solana recipe | https://docs.privy.io/recipes/solana/getting-started-with-privy-and-solana |\n| Connectors overview | https://docs.privy.io/wallets/connectors/overview |\n| Custom auth provider | https://docs.privy.io/authentication/user-authentication/custom-auth |\n| Webhooks | https://docs.privy.io/wallets/webhooks/overview |\n| x402 integration | https://docs.privy.io/recipes/agent-integrations/x402 |\n| MPP integration | https://docs.privy.io/recipes/agent-integrations/mpp |\n| Agentic wallets | https://docs.privy.io/recipes/agent-integrations/agentic-wallets |\n| OpenClaw integration | https://docs.privy.io/recipes/agent-integrations/openclaw-agentic-wallets |\n| Tempo chain | https://docs.privy.io/recipes/evm/tempo |\n| Wallet policies | https://docs.privy.io/wallets/policies/overview |\n| Wallet signers | https://docs.privy.io/wallets/using-wallets/signers/overview |\n| x402 protocol | https://x402.org |\n| MPP protocol | https://mpp.dev |\n| Agent Auth Protocol | https://agentauthprotocol.com |\n| MCP auth spec | https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization |","tags":["privy","integration","skills","tenequm","agent-skills","ai-agents","claude-code","claude-skills","clawhub","erc-8004","mpp","openclaw"],"capabilities":["skill","source-tenequm","skill-privy-integration","topic-agent-skills","topic-ai-agents","topic-claude-code","topic-claude-skills","topic-clawhub","topic-erc-8004","topic-mpp","topic-openclaw","topic-skills","topic-solana","topic-x402"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tenequm/skills/privy-integration","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add tenequm/skills","source_repo":"https://github.com/tenequm/skills","install_from":"skills.sh"}},"qualityScore":"0.461","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 23 github stars · SKILL.md body (11,837 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T01:01:40.206Z","embedding":null,"createdAt":"2026-04-18T23:05:21.211Z","updatedAt":"2026-04-22T01:01:40.206Z","lastSeenAt":"2026-04-22T01:01:40.206Z","tsv":"'-20':993 '-4337':29,110,948 '/authentication/overview':1049 '/authentication/user-authentication/custom-auth':1125 '/authentication/user-authentication/tokens':1059 '/authentication/user-authentication/whitelabel':1054 '/basics/nodejs/quickstart':1109 '/basics/react/quickstart':1044 '/basics/react/setup':1039 '/llms.txt':143,1034 '/node':121,576,584,928 '/node/x402':725 '/premium'');':711,749 '/react-auth':90,235,250,288,318,342,470,484,660,679 '/react-auth/smart-wallets':106 '/react-auth/solana':99 '/recipes/agent-integrations/agentic-wallets':1144 '/recipes/agent-integrations/mpp':1139 '/recipes/agent-integrations/openclaw-agentic-wallets':1149 '/recipes/agent-integrations/x402':1134 '/recipes/evm/tempo':1154 '/recipes/solana/getting-started-with-privy-and-solana':1114 '/server-auth':131 '/specification/2025-11-25/basic/authorization':1180 '/wagmi':114,460,474,492 '/wallets/connectors/ethereum/integrations/viem':1074 '/wallets/connectors/ethereum/integrations/wagmi':1069 '/wallets/connectors/overview':1119 '/wallets/gas-and-asset-management/gas/ethereum':1097 '/wallets/gas-and-asset-management/gas/overview':1091 '/wallets/gas-and-asset-management/gas/solana':1103 '/wallets/overview':1064 '/wallets/policies/overview':1159 '/wallets/using-wallets/evm-smart-wallets/overview':1079 '/wallets/using-wallets/evm-smart-wallets/setup/configuring-sdk':1086 '/wallets/using-wallets/signers/overview':1164 '/wallets/webhooks/overview':1129 '/weather'');':810 '0':696 '0x':353,858 '0x1':860 '1':227,703 '100000':355 '1000000':701 '2':236 '3':275 '4':306 '402':665 '5':330 '6a6ff5':421 '8453':854,863 'accentcolor':420 'access':598 'access/refresh/identity':1056 'accesstoken':607 'account':785,792,803 'action':558 'ad':161,186 'address':697,736 'agent':10,16,38,76,83,198,201,203,811,826,829,868,880,1002,1008,1013,1140,1171 'agent-control':867 'agentauthprotocol.com':1174 'all-us':389 'also':74 'api':935,937 'api.example.com':710,748,809 'api.example.com/premium'');':709,747 'api.example.com/weather'');':808 'api.mainnet-beta.solana.com':446,449 'app':17,53,154,166,238,264,290,539,591,595 'appear':400,401,914 'appid':260,536,589 'appl':371 'appropri':898 'appsecret':593 'async':690 'attach':843 'auth':93,150,202,361,611,623,1009,1019,1045,1051,1121,1172,1176 'authent':6,48,63,293,609 'author':601,885,1005,1017 'automat':668 'autonom':82,825,871 'await':605,707,745,806,833,847 'back':783 'base':500,516,822 'base.id':520 'bash':229,464,570 'better':1018 'bigint':700 'blockchain':990 'bridg':1020 'build':197 'built':54,655 'button':349 'caip2':852 'callback':650 'capabl':1015 'chain':36,73,514,836,861,1151 'check':276 'children':255,256,274,531,532,549 'client':243,544,987 'client/server':134 'code':329 'comparison':999 'compon':920 'config':266,358,360,434,541,547,911,915,1083 'connection/creation':564 'connector':117,426,430,952,965,1115 'const':291,321,345,507,511,585,603,682,685,688,691,705,730,738,743,791,796,804,831,845 'constraint':823 'control':817,865,869,955 'cover':18 'creat':780,828,835 'createconfig':453,487,513 'createonlogin':269,383,394 'createprivyaccount':793 'createsolanarpc':445 'createsolanarpcsubscript':448 'createx402client':720,732 'creation':380 'crypto':56 'custodi':61 'custom':618,1120 'dark':419 'decis':145 'default':252,528 'deprec':127 'detail':902 'develop':873 'developer-own':872 'discord':374 'doc':139,895,1027 'docs.privy.io':142,1033,1038,1043,1048,1053,1058,1063,1068,1073,1078,1085,1090,1096,1102,1108,1113,1118,1124,1128,1133,1138,1143,1148,1153,1158,1163 'docs.privy.io/authentication/overview':1047 'docs.privy.io/authentication/user-authentication/custom-auth':1123 'docs.privy.io/authentication/user-authentication/tokens':1057 'docs.privy.io/authentication/user-authentication/whitelabel':1052 'docs.privy.io/basics/nodejs/quickstart':1107 'docs.privy.io/basics/react/quickstart':1042 'docs.privy.io/basics/react/setup':1037 'docs.privy.io/llms.txt':141,1032 'docs.privy.io/recipes/agent-integrations/agentic-wallets':1142 'docs.privy.io/recipes/agent-integrations/mpp':1137 'docs.privy.io/recipes/agent-integrations/openclaw-agentic-wallets':1147 'docs.privy.io/recipes/agent-integrations/x402':1132 'docs.privy.io/recipes/evm/tempo':1152 'docs.privy.io/recipes/solana/getting-started-with-privy-and-solana':1112 'docs.privy.io/wallets/connectors/ethereum/integrations/viem':1072 'docs.privy.io/wallets/connectors/ethereum/integrations/wagmi':1067 'docs.privy.io/wallets/connectors/overview':1117 'docs.privy.io/wallets/gas-and-asset-management/gas/ethereum':1095 'docs.privy.io/wallets/gas-and-asset-management/gas/overview':1089 'docs.privy.io/wallets/gas-and-asset-management/gas/solana':1101 'docs.privy.io/wallets/overview':1062 'docs.privy.io/wallets/policies/overview':1157 'docs.privy.io/wallets/using-wallets/evm-smart-wallets/overview':1077 'docs.privy.io/wallets/using-wallets/evm-smart-wallets/setup/configuring-sdk':1084 'docs.privy.io/wallets/using-wallets/signers/overview':1162 'docs.privy.io/wallets/webhooks/overview':1127 'document':1022 'eip155':853 'email':308,326,367,626 'email/sms/socials/passkeys/wallets':66 'emb':58 'embed':7,378,437,941 'embeddedwallet':267,381 'enabl':363 'erc':28,109,947 'etc':555 'ethereum':268,382,406,411,838,849,1094 'ethereum-and-solana':405 'ethereum-on':410 'evm':70,334,943 'exampl':310,891 'execut':839 'export':251,527,958 'extern':424,951 'externalwallet':428 'facilit':995 'fals':403,800 'farcast':375 'fee':975 'fetch':698,741 'fetchcont':689 'fetchwithpay':692,708,739,746 'file':900 'flow':612,667 'frequenc':772 'friend':1031 'full':789,1026 'fulli':615,870 'function':253,289,319,343,529,680 'fund':220,956 'gas':949,972,1087,1092,1098 'general':647 'github':373 'googl':370,638 'guid':904 'handl':663 'hash':846 'header':602 'high':771 'high-frequ':770 'hook':22,102,280,304,552,561,621,622,909 'http':504,519,521,664 'id':265,540,592,862 'ident':1014 'import':244,282,312,336,452,478,485,493,498,503,578,672,719,726,775 'index':140,1028 'infrastructur':51 'initoauth':636 'instal':228 'integr':3,4,45,168,212,451,903,969,1066,1071,1131,1136,1146 'io':89,98,105,113,120,130,234,249,287,317,341,459,469,473,483,491,575,583,659,678,724,927 'key':85,620,1006,1021 'light':417 'llm':1030 'llm-friend':1029 'load':299 'login':307,365,635,648 'loginform':320 'loginmethod':366 'loginwithcod':323,328,629 'logo':422 'machin':33,755 'mainnet':443,499,515 'mainnet.id':518 'manag':216,934 'max':702 'maxvalu':699 'mcp':1016,1175 'method':362,624,801 'model':866 'modelcontextprotocol.io':1179 'modelcontextprotocol.io/specification/2025-11-25/basic/authorization':1178 'mpp':32,80,133,189,750,754,983,998,1135,1168 'mpp.dev':1170 'mppx':132,776,797,985 'mppx.create':798 'mppx.fetch':807 'mppx/client':779 'nest':522 'new':509,587 'next.js':226 'node.js':24,177,717,923,982,1104 'npm':230,465,571 'onclick':350 'openclaw':1007,1145 'order':523 'other':766 'otp':309,627,632 'overview':1046,1061,1116 'own':874,878 'packag':86 'paidcont':681 'param':855 'passkey':377,640,642 'pathusd':763,991 'pattern':790,917 'payer':976 'payment':11,34,77,190,652,666,751,756,773 'per':1012 'per-ag':1011 'polici':41,219,821,844,890,953,1004,1156 'policy-bas':820 'polyfil':799 'privi':2,5,44,46,88,97,104,112,119,129,149,165,233,248,263,286,303,316,340,458,468,472,482,490,560,574,582,586,658,677,723,733,782,926 'privy-back':781 'privy-integr':1 'privy-io':87,96,103,111,118,128,232,247,285,315,339,457,467,471,481,489,573,581,657,676,722,925 'privy.verifyauthtoken':606 'privy.wallets':834,848 'privycli':579,588 'privyconfig':542 'privyprovid':21,240,245,259,357,479,524,535,910 'process.env.next':261 'process.env.privy':590,594 'protocol':12,78,757,980,1010,1166,1169,1173 'provid':47,254,530,637,1122 'public':262 'querycli':494,508,510,545 'queryclientprovid':495,525,543 'quick':155,223,653,752,813 'quickstart':1041,1106 'rail':57 'react':19,91,153,225,908,981,1035,1040 'react.reactnode':257,533 'read':896 'read/write':557 'readi':277,292,297 'recip':1111 'refer':894,899 'references/agent-auth.md':207,208,887,888,1000,1001 'references/agent-payments.md':195,196,787,977,978 'references/react-sdk.md':159,160,171,172,905,906 'references/server-sdk.md':184,185,921,922 'references/solana.md':213,214,959,960 'references/wallets.md':221,222,939,940 'replac':126 'requir':435 'res':706 'res.json':713 'respons':744,805 'rest':936 'retain':883 'return':258,298,348,534,712 'revoc':884 'rpc':433,444 'rpcs':441 'rpcsubscript':447 'safe':300 'sdk':20,25,92,125,135,924,986,1082,1105 'secret':596 'section':181,192 'see':786,886 'self':60 'self-custodi':59 'send':331,356 'sendbutton':344 'sendcod':322,325,628 'sendtransact':346,351,850 'server':123,175,179,566,715,816,988 'server-control':815 'server-sid':122,174,178,565,714 'session':768,994 'set':147 'settl':136,758 'setup':893,913,964,1036 'showwalletloginfirst':402 'side':124,176,180,567,716 'sign':971 'signer':881,1161 'signup':643 'sinc':661 'skill' 'skill-privy-integration' 'smart':26,107,217,945,1075,1080 'sms':368,631 'social':634 'solana':72,100,210,393,408,414,427,429,432,440,442,944,962,1100,1110 'solana-on':413 'solana-specif':209,961 'solana/kit':966 'solana/web3.js':968 'source-tenequm' 'spec':1177 'specif':211,963 'sponsorship':950,973,1088 'stablecoin':762 'start':156,224,654,753,814 'support':75,767 'tanstack/react-query':476,497 'telegram':376,645 'tempo':35,138,760,777,802,989,1150 'theme':416 'tip':992 'token':568,599,929,1055 'topic':1024 'topic-agent-skills' 'topic-ai-agents' 'topic-claude-code' 'topic-claude-skills' 'topic-clawhub' 'topic-erc-8004' 'topic-mpp' 'topic-openclaw' 'topic-skills' 'topic-solana' 'topic-x402' 'tosolanawalletconnector':431 'transact':68,333,840,856,970 'transport':517 'tree':146 'ts':577,718,774,827 'tsx':241,281,311,335,359,477,671 'twitter':372 'two':864 'type':837,930 'ui':399,439,619,919 'url':1023,1025 'usdc':670,704,764 'use':42,242,279,302,550,559,669,761 'useaccount':553 'uselogin':646 'useloginwithemail':313,324,625 'useloginwithoauth':633 'useloginwithpasskey':639 'useloginwithsm':630 'useloginwithtelegram':644 'useprivi':283,295 'user':64,271,294,385,391,396,877,882,933 'user-own':876 'userid':604 'users-without-wallet':270,384,395 'usesendtransact':337,347,554 'usesignupwithpasskey':641 'usewallet':674,684 'usex402fetch':673,687 'v2':116 'v3.7.0':662 'valid':841 'valu':354,859 'verif':569,932 'verifi':597 'via':65,974 'viem':784,1070 'viem/chains':502 'vs':997 'wagmi':23,115,167,450,463,475,506,551,1065 'wagmi/viem':162,912 'wagmiconfig':512,548 'wagmiprovid':455,486,526,546 'wallet':8,27,39,50,62,84,94,101,108,199,204,215,218,273,369,379,387,398,425,438,563,683,695,812,818,830,832,918,942,946,957,1003,1060,1076,1081,1141,1155,1160 'wallet.address':737,795 'wallet.id':735,794,851 'walletaddress':694 'walletchaintyp':404 'walletid':734 'web':14 'webhook':938,1126 'whitelabel':608,616,916,1050 'without':272,386,397 'work':173 'workflow':144 'wrap':237 'wrapfetchwithpay':686,693,727,740 'x402':30,79,95,187,651,979,996,1130,1165 'x402.org':1167 'x402/fetch':729 'x402/mpp':191 'x402client':731,742 'your-app-id':537 'your-logo.png':423","prices":[{"id":"74df7632-e654-4fec-8888-2dc5c0ee62b7","listingId":"e11f1781-6afd-435e-8db4-ac2f463692b1","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"tenequm","category":"skills","install_from":"skills.sh"},"createdAt":"2026-04-18T23:05:21.211Z"}],"sources":[{"listingId":"e11f1781-6afd-435e-8db4-ac2f463692b1","source":"github","sourceId":"tenequm/skills/privy-integration","sourceUrl":"https://github.com/tenequm/skills/tree/main/skills/privy-integration","isPrimary":false,"firstSeenAt":"2026-04-18T23:05:21.211Z","lastSeenAt":"2026-04-22T01:01:40.206Z"}],"details":{"listingId":"e11f1781-6afd-435e-8db4-ac2f463692b1","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tenequm","slug":"privy-integration","github":{"repo":"tenequm/skills","stars":23,"topics":["agent-skills","ai-agents","claude-code","claude-skills","clawhub","erc-8004","mpp","openclaw","skills","solana","x402"],"license":"mit","html_url":"https://github.com/tenequm/skills","pushed_at":"2026-04-14T16:24:57Z","description":"Agent skills for building, shipping, and growing software products","skill_md_sha":"416ce13bed2f3c147cfcdebb88ace4037418e2ae","skill_md_path":"skills/privy-integration/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tenequm/skills/tree/main/skills/privy-integration"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"privy-integration","description":"Integrates Privy authentication, embedded wallets, and agent payment protocols into web and agentic apps. Covers React SDK (PrivyProvider, hooks, wagmi), Node.js SDK, smart wallets (ERC-4337), x402 and MPP machine payments, Tempo chain, and agentic wallets with policies. Use when setting up Privy auth, creating embedded or agentic wallets, adding x402 or MPP payments, integrating with Tempo, configuring wallet policies, or connecting Privy to MCP/Agent Auth flows."},"skills_sh_url":"https://skills.sh/tenequm/skills/privy-integration"},"updatedAt":"2026-04-22T01:01:40.206Z"}}