- Description
- Getting Started and local usage
- Repository Structure
- LLM Usage Notes
- Further Documentation
- Prototyped self tool creation capabilities
- License
The main objective of AuthChain is to enable AI autonomy while allowing human control over sensitive actions.
AI usage excels at rapidly conducting lower complexity, high frequency tasks, but the probabilistic nature allows it to bypass prompt guardrails and execute tasks that violate security and privacy of data and code.
We achieve this by routing critical tool execution through a blockchain pipeline. Any critical level request, before approval by a user is passed through the pipe, enabling immutable hashing of any requests and approval, enforcing explainable AI and accountable permissions.
AuthChain seeks to allow execution of such tasks while allowing the Agent to log requests for permission for security-sensitive tasks. This allows us to leverage AI automation, while retain control.
- Clone repository as suitable into local drive.
git clone https://github.com/Eros483/AuthChain.git
cd AuthChain
cp .env.example .env
cd frontend
npm install
cd ..
- Ensure golang is installed. Check via
go version - Conduct installations in your preferred environment manager (Ex: conda, uv, poetry, etc)
conda create -n <environment-name> python=3.11
pip install -r requirements.txt
- Set your Gemini API key in your
.env.- Note:
ollamaor a suitable LLM provider can be utilised for the project, refer to the LLM Usage Notes section.
- Note:
All operations are to be executed from base directory, and in seperate terminals.
- Backend API server, built with Uvicorn and FastAPI
python -m backend.main
- Frontend server, built with Node and React
cd frontend
npm run dev
- Blockchain server, built in Go
cd services/blockchain_service
go run cmd/server.go
AuthChain
├── backend
│ ├── api
│ ├── core
│ └── utils
|
├── frontend
│ └── public
|
└── services
├── ai_service
│ ├── agent
│ ├── ai_tools
│ └── sandbox
└── blockchain_service
Note: This is a experimental feature and only runs on local installations.
python tool_generation_demo.py
Ollama support can be utilized for testing this project.
- Configure Ollama LLM and serving.
- Refer to
backend/core/config.py - Set
LOCAL_MODEL_NAMEto your preference and setUSE_LOCAL_LLMas True as a environment variable.
This project is licensed under the MIT License - refer to LICENSE for further details.

