Skip to content
Development
Skill

/phantom-connect

Build wallet-connected applications with the Phantom Connect SDK for Solana. Use when integrating Phantom wallets into React, React Native, or vanilla JS/TS apps — including wallet connection, social login (Google/Apple), transaction signing, message signing, token-gated access,

From plugin
sendaifun-skills
12848 skills
Install
$ npx -y skills add sendaifun/skills --skill phantom-connect --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/phantom-connect

Context preview

The summary Claude sees to decide when to auto-load this skill.

Build wallet-connected applications with the Phantom Connect SDK for Solana. Use when integrating Phantom wallets into React, React Native, or vanilla JS/TS apps — including wallet connection, social login (Google/Apple), transaction signing, message signing, token-gated access,

SKILL.md

phantom-connect.SKILL.md
name: phantom-connect
description: >
  Build wallet-connected applications with the Phantom Connect SDK for Solana.
  Use when integrating Phantom wallets into React, React Native, or vanilla JS/TS
  apps — including wallet connection, social login (Google/Apple), transaction signing,
  message signing, token-gated access, crypto payments, and NFT minting. Covers
  @phantom/react-sdk, @phantom/react-native-sdk, and @phantom/browser-sdk.
license: MIT
metadata:
  author: phantom
  version: "1.0"
  homepage: https://github.com/phantom/phantom-connect-cursor-plugin

Phantom Connect SDK

Build wallet-connected Solana applications with the Phantom Connect SDK ecosystem.

SDK Selection

| Platform | SDK | Package | |----------|-----|---------| | React web apps | React SDK | `@phantom/react-sdk` | | React Native / Expo | React Native SDK | `@phantom/react-native-sdk` | | Vanilla JS / Vue / Angular | Browser SDK | `@phantom/browser-sdk` |

Prerequisites

1. **Phantom Portal Account** — Register at [phantom.com/portal](https://phantom.com/portal) 2. **App ID** — Get from Portal → App → Set Up 3. **Allowlisted URLs** — Add domains and redirect URLs in Portal

Auth Providers

| Provider | Description | Requires appId | |----------|-------------|----------------| | `"injected"` | Phantom browser extension | No | | `"google"` | Google OAuth (embedded wallet) | Yes | | `"apple"` | Apple ID (embedded wallet) | Yes |

Critical Rules

1. **Always use `signAndSendTransaction`** — `signTransaction` and `signAllTransactions` are NOT supported for embedded wallets 2. **Always use `LAMPORTS_PER_SOL`** from `@solana/web3.js` for amount conversion — never hardcode `1000000000` 3. **Wrap all async SDK calls in try-catch** — users can reject prompts at any time 4. **Check `isConnected` before signing** — verify wallet connection before any operation 5. **React Native: `react-native-get-random-values` must be the FIRST import** — before any other imports 6. **BrowserSDK must be a singleton** — create one instance per app, never multiple 7. **Import `AddressType` from `@phantom/browser-sdk` only** 8. **Use devnet for testing, mainnet-beta for production** — never test against mainnet with real funds 9. **Never expose private keys** — Phantom handles all signing internally 10. **Embedded wallet spending limit**: $1,000 USD per day per app per user 11. **Social login sessions persist 7 days** from last auth event — handle expiration gracefully

Quick Start

React SDK

import { PhantomProvider, useModal, usePhantom, darkTheme } from "@phantom/react-sdk";
import { AddressType } from "@phantom/browser-sdk";

function App() {
  return (
    <PhantomProvider
      config={{
        providers: ["google", "apple", "injected"],
        appId: "your-app-id",
        addressTypes: [AddressType.solana],
        authOptions: { redirectUrl: "https://yourapp.com/callback" },
      }}
      theme={darkTheme}
    >
      <YourApp />
    </PhantomProvider>
  );
}

React Native SDK

// CRITICAL: Must be first import
import "react-native-get-random-values";
import { PhantomProvider, AddressType, darkTheme } from "@phantom/react-native-sdk";

// Requires app.json: { "expo": { "scheme": "myapp", "plugins": [...] } }

Browser SDK

import { BrowserSDK, AddressType } from "@phantom/browser-sdk";

const sdk = new BrowserSDK({
  providers: ["google", "apple", "injected"],
  appId: "your-app-id",
  addressTypes: [AddressType.solana],
  autoConnect: true,
});

Reference Docs

For detailed implementation patterns, read these files:

  • [references/react-sdk.md](references/react-sdk.md) — Complete React SDK reference (hooks, components, theming)
  • [references/react-native-sdk.md](references/react-native-sdk.md) — Mobile setup, Expo config, deep links
  • [references/browser-sdk.md](references/browser-sdk.md) — Vanilla JS patterns, events, wallet discovery
  • [references/transactions.md](references/transactions.md) — Solana transaction patterns (SOL, SPL tokens)
  • [references/payments.md](references/payments.md) — Crypto payment flows (SOL, USDC, backend verification)
  • [references/token-gating.md](references/token-gating.md) — Token-gated access (client-side, server-side, NFT)
  • [references/nft-minting.md](references/nft-minting.md) — NFT mint pages, Metaplex Core, compressed NFTs

Common Issues

| Issue | Solution | |-------|----------| | "appId required" | Add appId from Phantom Portal when using google/apple providers | | Redirect not working | Allowlist redirectUrl in Phantom Portal | | React Native crashes | Import `react-native-get-random-values` as FIRST import | | Extension not detected | Use `waitForPhantomExtension()` with timeout | | `signTransaction` error | Use `signAndSendTransaction` instead — embedded wallets don't support `signTransaction` |

Resources

  • [Phantom Portal](https://phantom.com/portal) — App registration
  • [Phantom Docs](https://docs.phantom.com) — Full documentation
  • [SDK Examples](https://github.com/phantom/wallet-sdk/tree/main/examples) — Working demos
  • [MCP Server](https://docs.phantom.com/resources/mcp-server) — AI docs access
Read more
Ships withsendaifun-skills

AI agent skills for Solana development — DeFi protocols, infrastructure, security, and more.

Get the whole plugin
Stats
128
Stars
81
Forks
Maintained
Maintenance
TypeScript
Language
Apache-2.0
License
1mo ago
Last commit
8mo ago
Created

Repo: sendaifun/skills

Other skills on sendaifun-skills.