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.
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.
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.Register an App
Under the Brand, create a Web or Native App. Pick the redirect URIs you want to allow — Synq enforces exact matches.Turn on the Solana connection
In the Brand → Connections panel, enable Solana. No external credentials needed — Synq hosts the SIWS verifier.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.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.
| Feature | Clerk | WorkOS | Auth0 | Privy | Dynamic | Synq |
|---|---|---|---|---|---|---|
| Sign-In With Solana (signed message) | ||||||
| Mobile Wallet Adapter (Android) wired | SDK only | SDK only | ||||
| Hosted OIDC issuer for wallet sessions | ||||||
| Multi-wallet linking under one account | ||||||
| Bring-your-own consent screen branding | Limited | |||||
| Pairs with Telegram / Discord / X auth | Some | Some | Some | Some |
Pair it with
Wallet linking
One profile, many wallets. After SIWS sign-in, let users link more wallets to the same account.
Telegram
The other login web3 communities live on. Pair SIWS with Telegram and capture both flows in one funnel.
Matrica
Pull an existing Solana social graph (wallets + Discord + X) in one shot. Complements SIWS for power users.
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.
