Identity:
On most platforms, identity means an email and password stored on someone else’s server. You have a username on GitHub, an email address at work, and a phone number with your bank. Each one is controlled by the service provider, and none of them talks to each other unless someone builds an integration.
On Solana, identity is a keypair: a public key and a private key. Solana keypair is like an SSH key pair: you generate it locally, the public half identifies you, and the private half proves you are who you claim to be. No server in the middle.
How to Create a Keypair:
If you are connecting to a wallet application (eg. Phantom or Solflare), the wallet manages the keypair for you, so you don’t need to create one yourself. However, if you are not using a wallet, you will need to generate a keypair to sign your transactions.
import { generateKeyPairSigner } from "@solana/kit";
const signer = await generateKeyPairSigner();
console.log("address: ", signer.address);
Accounts:
An account is Solana's fundamental data unit for storing state. The network stores all state in a key-value store where each key is a 32-byte address and each value is an account.
Account address
Every account address is a 32-byte value, displayed as a base58-encoded string (for example, '14grJpemFaf88c8tiVb77W7TYg2W3ir6pfkKz3YjhhZ5'). In Web2, usernames are human-readable strings (such as 'abc_xyz_123'). An address can be one of two types:
- Public key: corresponds to an Ed25519 keypair (has a private key)
- Program-derived address (PDA): deterministically derived from a program ID and seeds (no private key)
Base58 is chosen deliberately: it removes visually ambiguous characters like '0', 'O', 'I', and 'l'.
Cryptographic Ownership vs Company-Granted Access:
In Web2, you “own” your account because a company stores your credentials. They can lock you out. On Solana, only the holder of the private key can sign transactions for an account. No company, no admin panel, no password reset flow.
What Identity Enables:
On Solana, identity starts with a single cryptographic keypair, and everything you do on-chain is tied to it. On-chain identity is not just a replacement for usernames. It’s the foundation for token ownership, program interactions, governance votes, and reputation. Because it’s cryptographic and self-custodied, it works across every application on the network without anyone’s permission.


























