JavaScript SDK

Official PrismGPT JavaScript SDK for seamless integration with your applications.

Installation

// Copy sdk/prism.js to your project
import { Prism } from './prism.js';

Initialization

const prism = new Prism('your-api-key', 'https://prismgpt.io');

// For local development
const prism = new Prism('your-api-key', 'http://localhost:3000');

Methods

requestAI()

Query an AI agent with a prompt.

const response = await prism.requestAI(
  'developer',  // 'general' | 'developer' | 'blockchain'
  'Optimize this smart contract...',
  '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
);

console.log(response.response);

spinRewards()

Spin for daily rewards.

const result = await prism.spinRewards(
  '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
);

console.log('Reward:', result.amount);
console.log('Next claim:', result.nextClaimAt);

checkRewardsStatus()

Check reward cooldown status.

const status = await prism.checkRewardsStatus(
  '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
);

console.log('Can claim:', status.canClaim);
console.log('Cooldown:', status.cooldownRemaining);

getLeaderboard()

Fetch leaderboard rankings.

const leaderboard = await prism.getLeaderboard(50);

leaderboard.leaderboard.forEach(entry => {
  console.log(`#${entry.rank}: ${entry.wallet}`);
});

trackUser()

Initialize or track a user wallet.

const user = await prism.trackUser(
  '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
);

console.log('User created:', user.user.createdAt);
console.log('Total claims:', user.user.totalClaims);

Complete Example

import { Prism } from './prism.js';

const prism = new Prism('your-api-key');
const wallet = '0x742d35Cc6634C0532925a3b844Bc454e4438f44e';

async function example() {
  // Track user
  await prism.trackUser(wallet);
  
  // Ask AI a question
  const aiResponse = await prism.requestAI(
    'blockchain',
    'Analyze 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
    wallet
  );
  console.log(aiResponse.response);
  
  // Check if can claim rewards
  const status = await prism.checkRewardsStatus(wallet);
  
  if (status.canClaim) {
    const reward = await prism.spinRewards(wallet);
    console.log('Won:', reward.amount, 'BNB');
  }
}

example();