Wallet Identity
The wallet is the customer identity in Gwop Auth
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.subforward as the primary identity key - parse it only when you need separate
chainandaddressvalues - scope entitlements and purchase history to that identity
- do not assume two wallets belong to the same customer