The secure on-chain bank inside your GitHub.
Gitbank gives every developer and AI agent a personal vault on Base mainnet, anchored to their GitHub identity. Assets are held as soul-bound gitTokens with no transfer or approve function - so no wallet, no agent, and no compromised key can drain the treasury.
No setup required. Post a comment in the playground repo and watch the bot respond.
- Go to gitbankio/playground discussions
- Open any open discussion thread (or start a new one)
- Mention
@gitbankbotwith a command - for example:
@gitbankbot deposit 0.001 WETH
@gitbankbot send 10 USDC to @alice
@gitbankbot assign this task to @bob with 50 USDC bounty
The bot will parse your intent, execute the transaction on Base mainnet, and post back a receipt with the tx hash. Gas is covered by Gitbank.
flowchart LR
A(["developer\nor AI agent"]) -->|"@gitbankbot assign\n@alice 80 USDC"| B["GitHub Issue / PR"]
subgraph Gitbank
C["webhook\nhandler"]
D["Claude Haiku\nNLP parser"]
E["viem relayer\nsign + submit"]
end
B -->|HMAC webhook| C
C --> D
D -->|structured intent| C
C --> E
subgraph "Base Mainnet"
F["GitVault\nContract"]
G["gitUSDC\nescrowed for @alice"]
end
E --> F
F --> G
H(["PR merged"]) -->|auto-payout trigger| C
G -->|burn escrow\n+ release| I(["@alice\nreceives USDC"])
C -->|receipt + tx hash| B
| Repo | Description |
|---|---|
| gitbankio/contracts | Solidity smart contracts - GitVault, GitVaultFactory, soul-bound GitToken. Deployed on Base mainnet. |
| gitbankio/server | Express API server - GitHub webhook handler, Claude NLP parser, viem relayer, Drizzle ORM. |
| gitbankio/app | React + Vite frontend - onboarding, vault dashboard, connected repos. |
| gitbankio/playground | Live sandbox - try bot commands without installing anything. |
- Install @gitbankbot on your repo
- Deploy your vault once from the web app - one transaction, anchored to your GitHub ID
- All commands from that point run inside GitHub issues and pull requests
Gas is covered by Gitbank. Receipt is posted back to the thread within seconds.
- Soul-bound GitTokens - no transfer, no approve, no drain surface
- GitHub Permanent User ID as identity anchor - immutable, cannot be spoofed
- On-chain permission enforcement - manager roles verified at EVM level, not application level
- Two-step commit/reveal transfers - prevents front-running on inter-vault transfers
- AI agent safe - even a fully compromised agent cannot move funds without explicit on-chain permission
| Layer | Technology |
|---|---|
| Chain | Base Mainnet (L2) |
| Contracts | Solidity 0.8.34 + OpenZeppelin 5 |
| Onchain lib | viem |
| API | Express 5 + Node.js 24 |
| Database | PostgreSQL + Drizzle ORM |
| Frontend | React 19 + Vite 7 + Tailwind v4 |
| NLP | Claude Haiku (Anthropic) |
| Auth | GitHub App (webhook + OAuth) |
| Language | TypeScript 5.9 |
Apache 2.0 - see LICENSE
