Sign in with Matrica.
One signal, every linked account.
Matrica is the social graph Solana power-users already aggregate on — verified wallets, Discord roles, X handle, all in one profile. Sign in with Matrica and your app inherits that whole graph the moment the user clicks the button. No reconnect ceremony, no wallet-by-wallet linking.
For users who already did the work
Crypto-native users spend hours linking wallets to socials and socials to wallets. The ones serious enough to aggregate that graph already did it on Matrica. Asking them to redo it inside your app is friction you do not need. Sign in with Matrica collapses the entire onboarding into one click — and your app gets a richer initial profile than any other OAuth provider returns, with verified wallet addresses and connected communities included.
Same SDK, one provider name
Matrica is a Synq provider like any other. The only thing you change is the `provider` string.
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 { signIn } = useSynq()
return (
<button onClick={() => signIn({ provider: 'matrica' })}>
Sign in with Matrica
</button>
)
}Get it live
A few minutes inside Matrica's developer dashboard, then a paste into Synq.
Register an app on Matrica
Open Matrica’s developer portal, create an OAuth app, and set the redirect URI to your Synq callback (the dashboard shows the exact URL to paste).Copy your Matrica client ID + secret
Matrica issues a client_id and client_secret. Both are scoped to your brand’s app — they identify your project to Matrica during the OAuth handshake.Paste them into Synq
In the Dashboard, open Brand → Connections → Matrica. Paste the client ID + secret and toggle Enable. Synq encrypts the secret at rest.Choose what you want returned
Synq requests Matrica’s standard scopes by default (profile, wallets, social handles). Edit the scope list per brand if you want a narrower or wider read.Sign in and inspect the user
Sign in with your own Matrica account. The Synq user profile fills with verified wallets, social handles, and the linked-account graph — all in one webhook payload to your backend.
How Matrica support compares
Mainstream identity platforms don't ship Matrica at all. Web3-native ones tend to wrap it inside proprietary SDKs.
| Feature | Clerk | WorkOS | Auth0 | Privy | Dynamic | Synq |
|---|---|---|---|---|---|---|
| Matrica sign-in shipped | ||||||
| Returns verified wallets in the user profile | SDK only | SDK only | ||||
| Returns linked socials (Discord, X) in the same call | ||||||
| Issued as standard OIDC tokens | ||||||
| Pairs with Solana SIWS for non-Matrica users |
Pair it with
Sign-In With Solana
The bring-your-own-wallet path for users who have not aggregated on Matrica yet. Ship both.
Wallet linking
Matrica returns multiple verified wallets. Synq treats them all as linked under one user profile.
Discord
For users who skipped Matrica, you can still pull Discord identity natively.
Common questions
The Solana sign-in your power users already have.
If a chunk of your audience is on Matrica, this is the lowest-friction path to onboard them. Three lines of SDK code, one credential paste.
