Skip to content
Web3 native

Sign-In With Solana.
No transaction. No gas.

A signed message proves the user owns the wallet. That's the whole auth handshake. No on-chain action, no approvals, no permissions, no risk to funds. Synq turns that signature into a standards-compliant OIDC session your stack already knows how to consume.

Wallets supported
Every standard wallet
Phantom · Solflare · Backpack · MWA
On-chain cost
0 lamports
Signed message, never a tx
Time to integrate
< 1 hour
Three lines via @synqid/react
Why it matters

Wallet auth that earns user trust

Most wallet sign-in flows still ask the user to approve a transaction. That's a permission prompt that costs gas and looks scary — and it earned the bad reputation web3 sign-in has today. Sign-In With Solana is the opposite. The wallet signs an ephemeral message that proves the user controls the address. Synq verifies the signature on the server, mints a session, and hands your app a standard OIDC user. The whole flow happens without ever talking to the chain.

Three lines of code

Pick the SDK that matches your stack. SIWS works the same on web, Next.js, and React Native — and on Solana Mobile, our SDK wires MWA automatically.

import { SynqProvider, useSynq } from '@synqid/react'
import { SignIn } from '@synqid/react/ui'

export default function App() {
  return (
    <SynqProvider
      issuer="https://api.synq.id"
      clientId={import.meta.env.VITE_SYNQ_CLIENT_ID}
      redirectUri={`${window.location.origin}/auth/callback`}
      theme="dark"
    >
      <Home />
      <SignIn />
    </SynqProvider>
  )
}

function Home() {
  const { requestSignIn, signInWithWallet } = useSynq()
  return (
    <>
      <button onClick={() => signInWithWallet()}>
        Sign in with Solana
      </button>
      <button onClick={() => requestSignIn()}>
        Pick a method
      </button>
    </>
  )
}

Get it live

From a fresh Synq account to a signed-in wallet user.

  1. Create a Brand

    In the Synq Dashboard, create a new Brand. Drop in your logo, set your colors and copy. This is the surface end-users see on the consent screen.
  2. Register an App

    Under the Brand, create a Web or Native App. Pick the redirect URIs you want to allow — Synq enforces exact matches.
  3. Turn on the Solana connection

    In the Brand → Connections panel, enable Solana. No external credentials needed — Synq hosts the SIWS verifier.
  4. Drop the SDK into your app

    Install @synqid/react (or @synqid/nextjs, @synqid/react-native), pass your clientId, and render the SignIn modal. SIWS appears in the provider list automatically.
  5. Test on devnet, ship to mainnet

    SIWS works the same on every Solana cluster — the signature is off-chain. Flip your environment from preview to production and you are live.

How Solana auth compares

Comparing the main hosted-auth options developers consider when shipping a Solana app.

FeatureClerkWorkOSAuth0PrivyDynamicSynq
Sign-In With Solana (signed message)
Mobile Wallet Adapter (Android) wiredSDK onlySDK only
Hosted OIDC issuer for wallet sessions
Multi-wallet linking under one account
Bring-your-own consent screen brandingLimited
Pairs with Telegram / Discord / X authSomeSomeSomeSome

Pair it with

Common questions

Ship Solana sign-in this afternoon.

Three lines of SDK code, one toggle in the Dashboard, and your users are signing in with the wallet they already own. Early access is open.