Noland Arbaugh’s digital doppelgänger. Solana knowledge, and trading powered by Neuralink, vibes and blockchain brains

No models have been pushed.

Readme

NolandAI 🐙🚢

npm version
Hugging Face
(https://img.shields.io/github/actions/workflow/statuspiccassol/NolandAI-Trading-Bot)](https://github.com/piccassol/NolandAI-Trading-Bot/ )

NolandAI is an enterprise-ready, AI-powered Solana trading agent that combines on-chain analytics, social sentiment scraping, and a fine-tuned LLM to generate actionable trading calls. It ships as an npm SDK plus a FastAPI backend and a React/Next.js UI.


🔦 Highlights

  • Real-time market feeds via Dexscreener.
  • Social scraping (AssetDash, X/Twitter monitoring such as @mobyagent, @whalewatch).
  • LLM forecasting using a LoRA-fine-tuned model (fingpt-forecaster_dow30_llama2-7b_lora on Hugging Face).
  • Automated trading calls (hourly), plus optional auto-posting to X/Twitter.
  • Modular SDK (nolandai npm package) for JS/TS integration.
  • Production CI with release workflow and npm publish.

📦 Installation

From npm (recommended)

”`bash npm install nolandai ts Copy code import { NolandAI } from “nolandai”;

const bot = new NolandAI({ apiKey: process.env.NOLAND_KEY }); const call = await bot.getTradingCall(); console.log(call); From source (dev) bash Copy code git clone https://github.com/your-username/NolandAI.git cd NolandAI npm install # frontend/sdk pip install -r requirements.txt # if running python FastAPI backend 🧩 Repository layout (recommended) pgsql Copy code NolandAI/ ├─ package.json ├─ index.js ├─ index.d.ts ├─ README.md ├─ LICENSE ├─ CHANGELOG.md ├─ CONTRIBUTING.md ├─ .github/ │ └─ workflows/ci.yml ├─ backend/ │ ├─ requirements.txt │ └─ main.py # FastAPI app (endpoints: /trading-call, /market-data/:token) ├─ frontend/ │ └─ (Next.js app) └─ examples/ └─ demo.js ⚙️ Quickstart — Local dev (SDK + demo backend) Start FastAPI backend (example):

bash Copy code

in backend/

uvicorn main:app –reload –port 8000 Test SDK locally:

bash Copy code

from repo root or examples/

node examples/demo.js 📚 API (SDK) new NolandAI(config?: { apiKey?: string; baseUrl?: string })

getTradingCall() → { token, action, confidence, reason }

getMarketData(tokenAddress: string) → market JSON from backend

🧪 Example examples/demo.js (see examples/demo.js file in repo — quick show of getTradingCall + getMarketData)

📦 Publish & Releases We publish releases using semantic version tags (vMAJOR.MINOR.PATCH) and CI that validates tests and publishes to npm on tag push. See .github/workflows/ci.yml.

Official release example:

v1.0.0 — Captain’s Log (2025-09-20)

Initial public release.

npm package nolandai published.

FastAPI endpoints /trading-call, /market-data/:token live.

Hugging Face model integration.

🏛️ Contributing See CONTRIBUTING.md. Pull requests welcome — use branches, add tests, sign commits.

⚖️ License MIT © 2025 AuroraRift

Maintainers AuroraRift Team — team@aurorarift.io

Changelog See CHANGELOG.md for full release history.

pgsql Copy code


2) Files to create (copy these into repo root exactly)

Below are the key files. Put them where indicated.

package.json (repo root)

”`json { “name”: “nolandai”, “version”: “1.0.0”, “description”: “NolandAI - An AI-powered Solana trading agent for market intelligence, social scraping, and automated trading calls.”, “main”: “index.js”, “types”: “index.d.ts”, “type”: “module”, “scripts”: { “build”: “tsc”, “test”: “node test.js || echo \“no tests\”“, “lint”: “eslint .” }, “repository”: { “type”: “git”, “url”: “https://github.com/your-username/NolandAI.git” }, “keywords”: [ “AI”, “trading”, “Solana”, “crypto”, “blockchain”, “LLM”, “bot”, “Dexscreener”, “NolandAI”, “AuroraRift” ], “author”: “AuroraRift Team team@aurorarift.io”, “license”: “MIT”, “bugs”: { “url”: “https://github.com/your-username/NolandAI/issues” }, “homepage”: “https://huggingface.co/your-username/NolandAI”, “engines”: { “node”: “>=18” }, “dependencies”: { “axios”: “^1.7.0”, “dotenv”: “^16.3.1” }, “devDependencies”: { “eslint”: “^8.56.0”, “typescript”: “^5.4.0” } } index.js (repo root) js Copy code import axios from “axios”; import dotenv from “dotenv”;

dotenv.config();

export class NolandAI { constructor(config = {}) { this.apiKey = config.apiKey || process.env.NOLAND_KEY || “”; this.baseUrl = config.baseUrl || “http://localhost:8000”; // FastAPI default }

async getTradingCall() { const res = await axios.get(${this.baseUrl}/trading-call, { headers: this.apiKey ? { Authorization: Bearer ${this.apiKey} } : {} }); return res.data; }

async getMarketData(tokenAddress) { const res = await axios.get(${this.baseUrl}/market-data/${tokenAddress}); return res.data; } }

export default NolandAI; Commit directly to the main branch Open as a pull request to the main branch Commit changes Upload images, audio, and videos by dragging in the text input, pasting, or clicking here. Chat

New Conversation

🤓 Explain a complex thing

Explain Artificial Intelligence so that I can explain it to my six-year-old child.

🧠 Get suggestions and create new ideas

Please give me the best 10 travel ideas around the world

💭 Translate, summarize, fix grammar and more…

Translate “I love you” French

GPT-4o Mini Hello, how can I help you today? GPT-4o Mini coin image 10 Upgrade

Powered by AITOPIA Chat Ask Search Write Image ChatFile Vision Full Page