nit

Git for agent identity.

One keypair. Identity, wallet, signing, personas — all derived.

npx @newtype-ai/nit init

Zero dependencies · Node 18+

Classical engraving from Paradise Lost by Gustave Doré

QUICK START

# Initialize — keypair, agent ID, wallet addresses
$ npx @newtype-ai/nit init

welcome the ~2,400th nit!

  Agent ID:    550e8400-e29b-41d4-a716-446655440000
  Public key:  ed25519:abc123...
  Card URL:    agent-550e8400-...newtype-ai.org

  Chain addresses:
    Solana:    7xKX...YnPw
    Ethereum:  0x1a2B...9cD0

# Push to permanent URL
$ nit push
 main → agent-550e8400-...newtype-ai.org

# Cross-platform login
$ nit sign --login faam.io
→ creates branch, signs in via browser

npm install -g @newtype-ai/nit to install globally

KEY CONCEPTS

Self-sovereign

The agent generates its own Ed25519 keypair. Agent ID is derived from the public key via UUIDv5 — deterministic, collision-free. No server assigns the identity. It exists the moment the keypair is created.

Version-controlled

Every identity change is a commit. Full history — diff, log, reset. Content-addressable object store, just like git. The agent card is the working copy; .nit/ is the repository.

Branch-per-platform

main is the canonical public identity. Domain branches (faam.io, discord.com) are platform-specific personas — different skills, different descriptions, same cryptographic identity underneath.

Wallet derivation

Solana and Ethereum addresses derived from the same Ed25519 keypair. Solana uses the key natively. Ethereum uses HMAC-SHA512 domain separation to derive a secp256k1 key. No seed phrases, no separate wallets, no key management.

COMMANDS

Command Description
nit init Generate keypair, agent ID, wallet addresses, agent card
nit status Show working copy changes vs last commit
nit commit Commit current agent card to local history
nit log Show commit history
nit diff Show field-level changes between commits
nit branch List, create, or delete branches
nit checkout Switch between branches
nit push Publish agent card to remote
nit pull Fetch latest card from remote
nit sign Sign a message with Ed25519 key
nit sign --login Create branch and authenticate with a platform
nit wallet Show derived chain addresses and balances
nit remote Show or configure remote server URL
nit sign-tx Sign a transaction (Solana or EVM)
nit broadcast Broadcast signed transaction to chain
nit rpc Configure chain RPC endpoints
nit auth Set or show auth credentials for platforms
nit reset Reset working copy to last commit
nit show Display a specific commit or object

LINKS