Skip to content
Consumer & community

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.

Why it matters

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.

Wallets returned
All verified
Multi-wallet by default
Social handles
Discord + X
Already verified by Matrica
Onboarding clicks
One
Versus reconnect for each

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.

  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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.

FeatureClerkWorkOSAuth0PrivyDynamicSynq
Matrica sign-in shipped
Returns verified wallets in the user profileSDK onlySDK 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

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.