Package Exports
- lumos-luna-sdk
- lumos-luna-sdk/cli
- lumos-luna-sdk/vibe
Readme
Lumos Luna SDK
The First AI-Native SDK for Terra Classic (LUNC) & Terra 2.0 (LUNA)
Build dApps with AI-powered NFT generation, DeFi, Staking & IBC transfers
English • Deutsch • Türkçe • Português • Español • 中文 • 한국어 • 日本語 • Русский
What is Lumos Luna SDK?
Lumos Luna SDK is the most powerful and easiest-to-use SDK for building dApps on Terra Classic (LUNC) and Terra 2.0 (LUNA). It combines blockchain operations with AI capabilities to let you create next-generation applications.
Created by Schero94 for the Terra community.
Features at a Glance
| Category | Feature | Description |
|---|---|---|
| Blockchain | Dual-Chain | Terra Classic (LUNC) + Terra 2.0 (LUNA) |
| Blockchain | Wallet Management | Create, import, multi-wallet support |
| Blockchain | Transactions | Send, receive, burn LUNC |
| Blockchain | Staking | Delegate, undelegate, claim rewards |
| Blockchain | Governance | Vote on proposals |
| DeFi | IBC Transfers | Cross-chain transfers via IBC |
| DeFi | Token Swaps | DEX integration |
| DeFi | CW20 Tokens | Full token standard support |
| AI | Multi-Provider | OpenAI, Anthropic, OpenRouter |
| AI | Chat Completions | GPT-4, Claude, Gemini |
| AI | Image Generation | DALL-E 3, Nano Banana (Gemini) |
| AI | Market Analysis | AI-powered insights |
| NFT | Generative Art | AI-generated NFT artwork |
| NFT | Information NFTs | Verified data as NFTs |
| NFT | CW721 Standard | Full NFT standard support |
🇬🇧 English
Installation
npm install lumos-luna-sdkQuick Start (5 Minutes)
Step 1: Setup
import { LunaSDK } from 'lumos-luna-sdk';
// Create SDK instance
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' or 'luna'
mnemonic: 'your 24 word mnemonic phrase here'
});Step 2: Basic Operations
// Get your balance
const balance = await sdk.getBalance();
console.log('Balance:', balance);
// Get current price
const price = await sdk.getPrice();
console.log('LUNC Price:', price.data.price, 'USD');
// Send tokens
const tx = await sdk.send('terra1recipient...', '1000000'); // 1 LUNC
console.log('TX Hash:', tx.data.txHash);
// Burn LUNC (Terra Classic only)
const burn = await sdk.burn('1000000'); // Burn 1 LUNC
console.log('Burned:', burn.data.txHash);Step 3: AI Features
// Configure AI
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: 'your mnemonic...',
ai: {
provider: 'openrouter', // 'openai', 'anthropic', or 'openrouter'
apiKey: 'your-api-key'
}
});
// Ask AI anything
const answer = await sdk.ai.complete('What is the future of LUNC?');
console.log(answer.data.content);
// Generate image with Nano Banana (Google Gemini)
const image = await sdk.ai.generateImage('A phoenix rising from Terra ashes', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('Image URL:', image.data.url);Step 4: Mint AI-Generated NFT
// Step 1: Generate image first (preview)
const preview = await sdk.nft.prepareNFT({
prompt: 'A cosmic wolf guardian of Terra',
name: 'Cosmic Wolf #1',
rarity: 'legendary',
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('Preview image:', preview.data.imageUrl);
console.log('Estimated gas:', preview.data.estimatedGas);
// Step 2: If happy with image, mint it!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: 'Cosmic Wolf #1',
rarity: 'legendary',
collection: 'cosmic-guardians'
});
console.log('Minted NFT:', nft.data.tokenId);🎮 Vibe Mode (For Beginners & Fast Prototyping)
No coding experience needed! Vibe Mode makes blockchain easy with simple one-liners.
Setup (2 Lines)
import { vibe } from 'lumos-luna-sdk/vibe';
const sdk = await vibe({ chain: 'lunc' });One-Liner Operations
// 💰 Check your balance
const balance = await sdk.quick.balance();
// 📊 Get current price
const price = await sdk.quick.price();
console.log(`LUNC: $${price}`);
// 🔥 Burn LUNC (help the community!)
await sdk.quick.burn(1_000_000); // Burns 1 LUNC
// 💸 Send tokens
await sdk.quick.send('terra1friend...', 1_000_000);
// 🤖 Ask AI anything
const answer = await sdk.quick.ask('What is LUNC?');
console.log(answer);
// 🎨 Generate an image
const image = await sdk.quick.imagine('A phoenix rising');
console.log(image.url);
// 📈 Stake tokens
await sdk.quick.stake(1_000_000, 'terravaloper1...');Environment Variables (Optional)
Create .env file - Vibe Mode reads it automatically:
MNEMONIC="your 24 word mnemonic phrase"
OPENROUTER_API_KEY="sk-or-..." # For AI featuresThen just run:
const sdk = await vibe(); // Auto-reads .env!🖥️ CLI Tool (Command Line)
Use the SDK directly from your terminal - no coding required!
Installation
npm install -g lumos-luna-sdk
# or use directly with npxCommands
# Check balance
npx lumos-luna balance terra1youraddress...
# Get current price
npx lumos-luna price
# Get LUNA price instead
npx lumos-luna price --chain luna
# Send tokens
npx lumos-luna send terra1recipient... 1000000
# Burn LUNC
npx lumos-luna burn 1000000 "Community burn! 🔥"
# Stake tokens
npx lumos-luna stake 1000000 terravaloper1...
# Unstake tokens
npx lumos-luna unstake 1000000 terravaloper1...
# Claim staking rewards
npx lumos-luna rewards terravaloper1...
# Help
npx lumos-luna helpEnvironment Setup
export MNEMONIC="your 24 word mnemonic"
# Then run commands without specifying wallet📡 Live Price Streaming (WebSocket)
Get real-time price updates via Binance WebSocket:
import { PriceStream } from 'lumos-luna-sdk';
const stream = new PriceStream();
// Subscribe to LUNC price updates
stream.subscribe('lunc', (price) => {
console.log(`LUNC: $${price.price.toFixed(8)}`);
console.log(`24h Change: ${price.change24h}%`);
console.log(`Volume: $${price.volume24h.toLocaleString()}`);
});
// Subscribe to LUNA too
stream.subscribe('luna', (price) => {
console.log(`LUNA: $${price.price.toFixed(4)}`);
});
// Events
stream.on('connected', () => console.log('🟢 Connected!'));
stream.on('disconnected', () => console.log('🔴 Disconnected'));
// Get last known price
const lastPrice = stream.getLastPrice('lunc');
// Cleanup when done
stream.disconnect();🔐 Encrypted KeyStore (Secure Wallet Storage)
Store your mnemonic securely with AES-256-GCM encryption:
import { KeyStore } from 'lumos-luna-sdk';
// Encrypt your mnemonic
const keystore = new KeyStore();
await keystore.encrypt(
'your 24 word mnemonic phrase here',
'yourSecurePassword123!'
);
// Save to file
await keystore.save('./my-wallet.keystore');
// Later: Load and decrypt
const loaded = await KeyStore.load('./my-wallet.keystore');
const mnemonic = await loaded.decrypt('yourSecurePassword123!');
// Use with SDK
const sdk = new LunaSDK({ chain: 'lunc', mnemonic });
// Clear from memory when done (security)
loaded.clearDecrypted();KeyStore Features
- AES-256-GCM encryption (military grade)
- scrypt key derivation (password protection)
- MAC verification (tamper detection)
- JSON format (portable)
🇩🇪 Deutsch
Installation
npm install lumos-luna-sdkSchnellstart (5 Minuten)
Schritt 1: Setup
import { LunaSDK } from 'lumos-luna-sdk';
// SDK Instanz erstellen
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' oder 'luna'
mnemonic: 'deine 24 wort mnemonic phrase hier'
});Schritt 2: Basis-Operationen
// Kontostand abrufen
const balance = await sdk.getBalance();
console.log('Kontostand:', balance);
// Aktuellen Preis abrufen
const price = await sdk.getPrice();
console.log('LUNC Preis:', price.data.price, 'USD');
// Tokens senden
const tx = await sdk.send('terra1empfaenger...', '1000000'); // 1 LUNC
console.log('TX Hash:', tx.data.txHash);
// LUNC verbrennen (nur Terra Classic)
const burn = await sdk.burn('1000000'); // 1 LUNC verbrennen
console.log('Verbrannt:', burn.data.txHash);Schritt 3: KI-Features
// KI konfigurieren
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: 'deine mnemonic...',
ai: {
provider: 'openrouter', // 'openai', 'anthropic', oder 'openrouter'
apiKey: 'dein-api-key'
}
});
// KI fragen
const answer = await sdk.ai.complete('Was ist die Zukunft von LUNC?');
console.log(answer.data.content);
// Bild generieren mit Nano Banana (Google Gemini)
const image = await sdk.ai.generateImage('Ein Phoenix der aus Terra aufsteigt', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('Bild URL:', image.data.url);Schritt 4: KI-generiertes NFT minten
// Schritt 1: Erst Bild generieren (Vorschau)
const preview = await sdk.nft.prepareNFT({
prompt: 'Ein kosmischer Wolf, Wächter von Terra',
name: 'Kosmischer Wolf #1',
rarity: 'legendary',
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('Vorschau-Bild:', preview.data.imageUrl);
// Schritt 2: Wenn zufrieden, minten!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: 'Kosmischer Wolf #1',
rarity: 'legendary',
collection: 'cosmic-guardians'
});
console.log('Gemintetes NFT:', nft.data.tokenId);🇹🇷 Türkçe
Kurulum
npm install lumos-luna-sdkHızlı Başlangıç (5 Dakika)
Adım 1: Kurulum
import { LunaSDK } from 'lumos-luna-sdk';
// SDK örneği oluştur
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' veya 'luna'
mnemonic: '24 kelimelik mnemonic ifadeniz'
});Adım 2: Temel İşlemler
// Bakiye sorgula
const balance = await sdk.getBalance();
console.log('Bakiye:', balance);
// Güncel fiyat al
const price = await sdk.getPrice();
console.log('LUNC Fiyatı:', price.data.price, 'USD');
// Token gönder
const tx = await sdk.send('terra1alici...', '1000000'); // 1 LUNC
console.log('TX Hash:', tx.data.txHash);
// LUNC yak (sadece Terra Classic)
const burn = await sdk.burn('1000000'); // 1 LUNC yak
console.log('Yakıldı:', burn.data.txHash);Adım 3: AI Özellikleri
// AI yapılandır
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: 'mnemonic...',
ai: {
provider: 'openrouter',
apiKey: 'api-anahtariniz'
}
});
// AI'ya sor
const answer = await sdk.ai.complete('LUNC\'un geleceği nedir?');
console.log(answer.data.content);
// Nano Banana (Google Gemini) ile görsel oluştur
const image = await sdk.ai.generateImage('Terra küllerinden yükselen anka kuşu', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('Görsel URL:', image.data.url);Adım 4: AI ile NFT Oluştur
// Adım 1: Önce görsel oluştur (önizleme)
const preview = await sdk.nft.prepareNFT({
prompt: 'Kozmik kurt, Terra\'nın koruyucusu',
name: 'Kozmik Kurt #1',
rarity: 'legendary'
});
console.log('Önizleme:', preview.data.imageUrl);
// Adım 2: Beğendiysen mint et!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: 'Kozmik Kurt #1',
rarity: 'legendary'
});
console.log('Mint edilen NFT:', nft.data.tokenId);🇧🇷 Português
Instalação
npm install lumos-luna-sdkInício Rápido (5 Minutos)
Passo 1: Configuração
import { LunaSDK } from 'lumos-luna-sdk';
// Criar instância do SDK
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' ou 'luna'
mnemonic: 'sua frase mnemônica de 24 palavras'
});Passo 2: Operações Básicas
// Obter saldo
const balance = await sdk.getBalance();
console.log('Saldo:', balance);
// Obter preço atual
const price = await sdk.getPrice();
console.log('Preço LUNC:', price.data.price, 'USD');
// Enviar tokens
const tx = await sdk.send('terra1destinatario...', '1000000'); // 1 LUNC
console.log('TX Hash:', tx.data.txHash);
// Queimar LUNC (apenas Terra Classic)
const burn = await sdk.burn('1000000'); // Queimar 1 LUNC
console.log('Queimado:', burn.data.txHash);Passo 3: Recursos de IA
// Configurar IA
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: 'seu mnemônico...',
ai: {
provider: 'openrouter',
apiKey: 'sua-chave-api'
}
});
// Perguntar à IA
const answer = await sdk.ai.complete('Qual é o futuro do LUNC?');
console.log(answer.data.content);
// Gerar imagem com Nano Banana (Google Gemini)
const image = await sdk.ai.generateImage('Uma fênix renascendo das cinzas de Terra', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('URL da imagem:', image.data.url);Passo 4: Mintar NFT com IA
// Passo 1: Primeiro gerar imagem (preview)
const preview = await sdk.nft.prepareNFT({
prompt: 'Lobo cósmico, guardião de Terra',
name: 'Lobo Cósmico #1',
rarity: 'legendary'
});
console.log('Preview:', preview.data.imageUrl);
// Passo 2: Se gostar, minta!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: 'Lobo Cósmico #1',
rarity: 'legendary'
});
console.log('NFT mintado:', nft.data.tokenId);🇪🇸 Español
Instalación
npm install lumos-luna-sdkInicio Rápido (5 Minutos)
Paso 1: Configuración
import { LunaSDK } from 'lumos-luna-sdk';
// Crear instancia del SDK
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' o 'luna'
mnemonic: 'tu frase mnemónica de 24 palabras'
});Paso 2: Operaciones Básicas
// Obtener saldo
const balance = await sdk.getBalance();
console.log('Saldo:', balance);
// Obtener precio actual
const price = await sdk.getPrice();
console.log('Precio LUNC:', price.data.price, 'USD');
// Enviar tokens
const tx = await sdk.send('terra1destinatario...', '1000000'); // 1 LUNC
console.log('TX Hash:', tx.data.txHash);
// Quemar LUNC (solo Terra Classic)
const burn = await sdk.burn('1000000'); // Quemar 1 LUNC
console.log('Quemado:', burn.data.txHash);Paso 3: Funciones de IA
// Configurar IA
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: 'tu mnemónico...',
ai: {
provider: 'openrouter',
apiKey: 'tu-clave-api'
}
});
// Preguntar a la IA
const answer = await sdk.ai.complete('¿Cuál es el futuro de LUNC?');
console.log(answer.data.content);
// Generar imagen con Nano Banana (Google Gemini)
const image = await sdk.ai.generateImage('Un fénix renaciendo de las cenizas de Terra', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('URL de imagen:', image.data.url);Paso 4: Mintear NFT con IA
// Paso 1: Primero generar imagen (preview)
const preview = await sdk.nft.prepareNFT({
prompt: 'Lobo cósmico, guardián de Terra',
name: 'Lobo Cósmico #1',
rarity: 'legendary'
});
console.log('Preview:', preview.data.imageUrl);
// Paso 2: Si te gusta, ¡mintea!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: 'Lobo Cósmico #1',
rarity: 'legendary'
});
console.log('NFT minteado:', nft.data.tokenId);🇨🇳 中文
安装
npm install lumos-luna-sdk快速开始(5分钟)
步骤1:设置
import { LunaSDK } from 'lumos-luna-sdk';
// 创建SDK实例
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' 或 'luna'
mnemonic: '你的24个助记词'
});步骤2:基本操作
// 获取余额
const balance = await sdk.getBalance();
console.log('余额:', balance);
// 获取当前价格
const price = await sdk.getPrice();
console.log('LUNC价格:', price.data.price, 'USD');
// 发送代币
const tx = await sdk.send('terra1收款人...', '1000000'); // 1 LUNC
console.log('交易哈希:', tx.data.txHash);
// 销毁LUNC(仅Terra Classic)
const burn = await sdk.burn('1000000'); // 销毁1 LUNC
console.log('已销毁:', burn.data.txHash);步骤3:AI功能
// 配置AI
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: '你的助记词...',
ai: {
provider: 'openrouter',
apiKey: '你的API密钥'
}
});
// 询问AI
const answer = await sdk.ai.complete('LUNC的未来是什么?');
console.log(answer.data.content);
// 用Nano Banana(Google Gemini)生成图片
const image = await sdk.ai.generateImage('凤凰从Terra灰烬中崛起', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('图片URL:', image.data.url);步骤4:铸造AI生成的NFT
// 步骤1:先生成图片(预览)
const preview = await sdk.nft.prepareNFT({
prompt: '宇宙狼,Terra的守护者',
name: '宇宙狼 #1',
rarity: 'legendary'
});
console.log('预览图片:', preview.data.imageUrl);
// 步骤2:满意后铸造!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: '宇宙狼 #1',
rarity: 'legendary'
});
console.log('已铸造NFT:', nft.data.tokenId);🇰🇷 한국어
설치
npm install lumos-luna-sdk빠른 시작 (5분)
1단계: 설정
import { LunaSDK } from 'lumos-luna-sdk';
// SDK 인스턴스 생성
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' 또는 'luna'
mnemonic: '24개 니모닉 단어'
});2단계: 기본 작업
// 잔액 조회
const balance = await sdk.getBalance();
console.log('잔액:', balance);
// 현재 가격 조회
const price = await sdk.getPrice();
console.log('LUNC 가격:', price.data.price, 'USD');
// 토큰 전송
const tx = await sdk.send('terra1수신자...', '1000000'); // 1 LUNC
console.log('TX 해시:', tx.data.txHash);
// LUNC 소각 (Terra Classic만)
const burn = await sdk.burn('1000000'); // 1 LUNC 소각
console.log('소각됨:', burn.data.txHash);3단계: AI 기능
// AI 설정
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: '니모닉...',
ai: {
provider: 'openrouter',
apiKey: 'API-키'
}
});
// AI에게 질문
const answer = await sdk.ai.complete('LUNC의 미래는?');
console.log(answer.data.content);
// Nano Banana (Google Gemini)로 이미지 생성
const image = await sdk.ai.generateImage('테라의 재에서 일어나는 불사조', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('이미지 URL:', image.data.url);4단계: AI 생성 NFT 민팅
// 1단계: 먼저 이미지 생성 (미리보기)
const preview = await sdk.nft.prepareNFT({
prompt: '우주 늑대, 테라의 수호자',
name: '우주 늑대 #1',
rarity: 'legendary'
});
console.log('미리보기:', preview.data.imageUrl);
// 2단계: 만족하면 민팅!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: '우주 늑대 #1',
rarity: 'legendary'
});
console.log('민팅된 NFT:', nft.data.tokenId);🇯🇵 日本語
インストール
npm install lumos-luna-sdkクイックスタート(5分)
ステップ1:セットアップ
import { LunaSDK } from 'lumos-luna-sdk';
// SDKインスタンスを作成
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' または 'luna'
mnemonic: '24語のニーモニックフレーズ'
});ステップ2:基本操作
// 残高を取得
const balance = await sdk.getBalance();
console.log('残高:', balance);
// 現在の価格を取得
const price = await sdk.getPrice();
console.log('LUNC価格:', price.data.price, 'USD');
// トークンを送信
const tx = await sdk.send('terra1受取人...', '1000000'); // 1 LUNC
console.log('TXハッシュ:', tx.data.txHash);
// LUNCをバーン(Terra Classicのみ)
const burn = await sdk.burn('1000000'); // 1 LUNCをバーン
console.log('バーン済み:', burn.data.txHash);ステップ3:AI機能
// AIを設定
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: 'ニーモニック...',
ai: {
provider: 'openrouter',
apiKey: 'APIキー'
}
});
// AIに質問
const answer = await sdk.ai.complete('LUNCの将来は?');
console.log(answer.data.content);
// Nano Banana(Google Gemini)で画像生成
const image = await sdk.ai.generateImage('テラの灰から蘇るフェニックス', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('画像URL:', image.data.url);ステップ4:AI生成NFTをミント
// ステップ1:まず画像を生成(プレビュー)
const preview = await sdk.nft.prepareNFT({
prompt: '宇宙の狼、テラの守護者',
name: 'コズミックウルフ #1',
rarity: 'legendary'
});
console.log('プレビュー:', preview.data.imageUrl);
// ステップ2:満足したらミント!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: 'コズミックウルフ #1',
rarity: 'legendary'
});
console.log('ミントしたNFT:', nft.data.tokenId);🇷🇺 Русский
Установка
npm install lumos-luna-sdkБыстрый старт (5 минут)
Шаг 1: Настройка
import { LunaSDK } from 'lumos-luna-sdk';
// Создание экземпляра SDK
const sdk = new LunaSDK({
chain: 'lunc', // 'lunc' или 'luna'
mnemonic: 'ваша мнемоническая фраза из 24 слов'
});Шаг 2: Базовые операции
// Получить баланс
const balance = await sdk.getBalance();
console.log('Баланс:', balance);
// Получить текущую цену
const price = await sdk.getPrice();
console.log('Цена LUNC:', price.data.price, 'USD');
// Отправить токены
const tx = await sdk.send('terra1получатель...', '1000000'); // 1 LUNC
console.log('TX хэш:', tx.data.txHash);
// Сжечь LUNC (только Terra Classic)
const burn = await sdk.burn('1000000'); // Сжечь 1 LUNC
console.log('Сожжено:', burn.data.txHash);Шаг 3: AI функции
// Настройка AI
const sdk = new LunaSDK({
chain: 'lunc',
mnemonic: 'ваша мнемоника...',
ai: {
provider: 'openrouter',
apiKey: 'ваш-api-ключ'
}
});
// Спросить AI
const answer = await sdk.ai.complete('Какое будущее у LUNC?');
console.log(answer.data.content);
// Генерация изображения с Nano Banana (Google Gemini)
const image = await sdk.ai.generateImage('Феникс восстающий из пепла Terra', {
provider: 'openrouter',
model: 'google/gemini-2.5-flash-image'
});
console.log('URL изображения:', image.data.url);Шаг 4: Минтинг AI-сгенерированного NFT
// Шаг 1: Сначала генерируем изображение (превью)
const preview = await sdk.nft.prepareNFT({
prompt: 'Космический волк, страж Terra',
name: 'Космический Волк #1',
rarity: 'legendary'
});
console.log('Превью:', preview.data.imageUrl);
// Шаг 2: Если нравится, минтим!
const nft = await sdk.nft.mintFromImage({
imageUrl: preview.data.imageUrl,
name: 'Космический Волк #1',
rarity: 'legendary'
});
console.log('Заминченный NFT:', nft.data.tokenId);API Reference
Core Methods
| Method | Description | Returns |
|---|---|---|
sdk.getBalance(address?) |
Get token balance | TokenBalance[] |
sdk.getPrice() |
Get current LUNC/LUNA price | PriceData |
sdk.send(to, amount) |
Send tokens | TransactionResult |
sdk.burn(amount) |
Burn LUNC | TransactionResult |
Staking Methods
| Method | Description | Returns |
|---|---|---|
sdk.staking.delegate(validator, amount) |
Delegate tokens | TransactionResult |
sdk.staking.undelegate(validator, amount) |
Undelegate tokens | TransactionResult |
sdk.staking.claimRewards() |
Claim staking rewards | TransactionResult |
sdk.staking.getInfo() |
Get staking info | StakingInfo |
AI Methods
| Method | Description | Returns |
|---|---|---|
sdk.ai.complete(prompt, options?) |
AI chat completion | AIResponse |
sdk.ai.generateImage(prompt, options?) |
Generate image | ImageResponse |
sdk.ai.validateNews(content) |
Validate news/info | NewsValidation |
sdk.ai.analyzeMarket() |
AI market analysis | MarketAnalysis |
NFT Methods
| Method | Description | Returns |
|---|---|---|
sdk.nft.prepareNFT(options) |
Generate NFT preview | PreparedNFT |
sdk.nft.mintFromImage(options) |
Mint NFT from image | GenerativeNFT |
sdk.nft.mintGenerative(options) |
Generate + mint in one step | GenerativeNFT |
sdk.nft.mintInformation(options) |
Mint information NFT | InformationNFT |
DeFi Methods
| Method | Description | Returns |
|---|---|---|
sdk.defi.ibcTransfer(options) |
IBC cross-chain transfer | TransactionResult |
sdk.defi.swap(options) |
Swap tokens | TransactionResult |
Configuration
Environment Variables
Create a .env file:
# Wallet
WALLET_MNEMONIC="your 24 word mnemonic"
# Blockchain
CHAIN_ID="lunc" # lunc or luna
NETWORK="mainnet" # mainnet or testnet
# AI Provider (choose one)
AI_PROVIDER="openrouter" # openai, anthropic, or openrouter
OPENROUTER_API_KEY="sk-or-..."
# OPENAI_API_KEY="sk-..."
# ANTHROPIC_API_KEY="sk-ant-..."
# Image Generation
IMAGE_PROVIDER="openrouter"
IMAGE_MODEL="google/gemini-2.5-flash-image"AI Providers
| Provider | Models | Image Support |
|---|---|---|
| OpenAI | GPT-4, GPT-4o | DALL-E 3 |
| Anthropic | Claude 3.5 Sonnet | No |
| OpenRouter | All models | Nano Banana (Gemini) |
Image Models (Nano Banana)
| Model | ID | Quality |
|---|---|---|
| Nano Banana | google/gemini-2.5-flash-image |
Fast, good quality |
| Nano Banana Pro | google/gemini-3-pro-image-preview |
Best quality |
Examples
Check out the examples folder for 8 complete working examples:
| # | File | Description | Difficulty |
|---|---|---|---|
| 1 | 01-basic-balance.ts |
Query balance & price | Beginner |
| 2 | 02-send-tokens.ts |
Send LUNC tokens | Beginner |
| 3 | 03-burn-lunc.ts |
Burn LUNC for community | Beginner |
| 4 | 04-staking.ts |
Stake, unstake, rewards | Intermediate |
| 5 | 05-ai-chat.ts |
AI chat & market analysis | Intermediate |
| 6 | 06-generate-nft.ts |
AI-generated NFT minting | Intermediate |
| 7 | 07-ibc-transfer.ts |
Cross-chain IBC transfer | Advanced |
| 8 | 08-full-dapp.ts |
Complete dApp dashboard | Advanced |
Run any example:
npx ts-node examples/01-basic-balance.tsTesting
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run specific test file
npm test -- tests/ai.test.tsContributing
Contributions are welcome! Please read our Contributing Guide first.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Support
- GitHub Issues: Report bugs
- Twitter: @Schero94
- Discord: Join the Terra community
License
MIT License - see LICENSE file.
Built with ❤️ by Schero94 for the Terra Community
If you find this SDK useful, please give it a ⭐ on GitHub!