Wallet Identity

The wallet is the customer identity in Gwop Auth
View as Markdown

Gwop Auth turns a wallet into a durable customer identity.

The key field is principal.sub, which uses the format {chain}:{address}:

  • base:0x742d...
  • solana:7sSi...

That value is the account identity you should carry through your system.

Why this matters

Without auth, a payment is just a one-off transaction. With auth, the wallet becomes the stable key for:

  • sessions
  • purchases
  • entitlements
  • credit balances
  • subscription state

That means your backend can treat the authenticated wallet as the customer record even if there is no email, username, or browser session involved.

The rule to keep in mind

The wallet used to authenticate defines the account.

If the agent authenticates with a different wallet, it is a different customer identity. Gwop does not merge wallets into a single account automatically, so your app logic should treat {chain}:{address} as the durable boundary.

What to do in your app

  • carry principal.sub forward as the primary identity key
  • parse it only when you need separate chain and address values
  • scope entitlements and purchase history to that identity
  • do not assume two wallets belong to the same customer