# mdip-agent-kit > Starter kit that gives an AI agent its own did:mdip identity (Keychain MDIP, hyperswarm registry, the network used by the SELF identity app): local encrypted keymaster wallet, agent DID, SELF Public Profile credential (published+revealed), recovery-phrase network backup + local encrypted backup with restore test, plus helpers to sign/verify JSON, create/answer/verify challenges, and accept/check delegated-authority credentials. ## Docs - [README.md](README.md): what/why, quickstart, config, gatekeeper options, backups, security, troubleshooting - [AGENTS.md](AGENTS.md): step-by-step self-install procedure for AI agents - [examples/agent-handshake.js](examples/agent-handshake.js): challenge/response between agents - [examples/purchase-authorization.js](examples/purchase-authorization.js): accept and check a human-issued purchase credential - [vectors/README.md](vectors/README.md): known-answer vectors (stock OpenSSL, no install) - [README.md#known-answer-vectors-verify-with-stock-openssl-no-install](README.md): install-free known-answer vectors (secp256k1 / sha256(JCS)); files in vectors/, run `bash vectors/verify-openssl.sh` ## Key facts - Install: `npm install mdip-agent-kit`; CLI: `npx mdip-agent-kit init --profile-name "Name"`; config via MDIP_HOME, MDIP_GATEKEEPER_URL, MDIP_AGENT_NAME - DID prefix did:mdip, registry hyperswarm (NOT the Keychain sample default did:test) - SELF Public Profile schema DID: did:mdip:z3v8AuagfG89zr9aGxfxub4wRAd15qJs6u9C5jQPgrqC1YRHF67 (field: publicName) - Public check: https://explorer.selfid.com/api/did/ - Gatekeeper: run your own via scripts/run-local-node.sh (official KeychainMDIP/kc compose). No public write gatekeeper is offered; verify publication via https://explorer.selfid.com/api/did/ - Secrets: $MDIP_HOME/secrets (mode 600); never print them ## Upstream - [Keychain MDIP](https://keychain.org/docs/), [KeychainMDIP/kc](https://github.com/KeychainMDIP/kc) - [SELF developer docs](https://docs.selfid.com)