Introduction to INOVA
INOVA is a decentralized investment platform built on the Solana blockchain that aims to bridge the gap between innovative projects and potential investors while promoting social impact.
INOVA utilizes the speed and efficiency of the Solana blockchain to create a seamless investment experience. Our platform enables projects to raise funds, investors to discover promising opportunities, and communities to thrive through decentralized governance.
This documentation provides comprehensive information for developers, project creators, and investors looking to integrate with or participate in the INOVA ecosystem.
For Developers
Learn how to integrate with INOVA using our SDK and APIs. Build applications that leverage our smart contracts.
Explore developer docsFor Users
Understand how to use INOVA to invest in projects, participate in governance, and collect rewards.
Get startedGetting Started
This section will guide you through the basic steps to get started with INOVA, whether you're a developer, project owner, or investor.
Prerequisites
- A Solana wallet (Phantom, Solflare, or any Solana-compatible wallet)
- Some SOL for transaction fees
- Basic understanding of decentralized applications
Quick Start
Connect your Solana wallet to the INOVA platform
Explore active investment opportunities in the marketplace
Select a project and determine your investment amount
Confirm the transaction using your wallet
Receive INOVA investment tokens representing your stake
Installation
This section covers how to install and set up the INOVA SDK and tools for your development environment.
INOVA SDK
Our SDK provides a simple way to interact with the INOVA protocol from your JavaScript/TypeScript applications.
npm install @inova/sdk
yarn add @inova/sdk
Basic Usage
import { InovaClient } from '@inova/sdk'; // Initialize the client const inova = new InovaClient({ network: 'mainnet', // or 'devnet' for testing endpoint: 'https://api.mainnet-beta.solana.com', }); // Connect to a wallet await inova.connectWallet(); // Get active investment opportunities const projects = await inova.getProjects(); // Invest in a project const txSignature = await inova.invest({ projectId: 'project123', amount: 1.5, // SOL }); console.log('Transaction successful:', txSignature);
Core Concepts
Understanding the core concepts of INOVA will help you build better integrations and make informed decisions when using the platform.
Investment Pools
Investment pools are smart contracts that hold funds dedicated to specific projects or categories. Each pool has unique parameters like funding goals, time limits, and reward structures.
INOVA Tokens
INOVA tokens represent governance rights on the platform. Token holders can vote on platform upgrades, fee structures, and which projects get featured on the marketplace.
Project Tokens
When you invest in a project, you receive project-specific tokens that represent your stake. These tokens may entitle you to rewards, revenue sharing, or other benefits defined by the project.
Decentralized Governance
Decisions on the INOVA platform are made through community voting. Proposals are submitted, discussed, and then put to a vote where token holders decide the outcome.
Smart Contracts
INOVA's functionality is built on a system of smart contracts deployed on the Solana blockchain. This section covers the main contracts and how they interact.
Contract Architecture
- InovaRegistry: Central registry that tracks all projects, investors, and investment pools.
- InvestmentPool: Manages funds for specific projects, handles deposits and withdrawals.
- ProjectToken: SPL token contract for project-specific investment tokens.
- Governance: Handles proposal creation, voting, and execution of approved changes.
- Marketplace: Facilitates discovery and interaction with available investment opportunities.
Contract Addresses
Contract | Mainnet | Devnet |
---|---|---|
InovaRegistry | Abc123...def456 | Xyz789...uvw321 |
InvestmentPool | Ghi456...jkl789 | Lmn123...opq456 |
ProjectToken | Rst789...uvw123 | Efg456...hij789 |
Governance | Klm123...nop456 | Qrs789...tuv123 |
Marketplace | Wxy456...zab789 | Cde123...fgh456 |
Interacting with Contracts
// Example: Interact with the Investment Pool contract import { Connection, PublicKey } from '@solana/web3.js'; import { InovaSDK } from '@inova/sdk'; // Create a connection to the Solana cluster const connection = new Connection('https://api.mainnet-beta.solana.com'); // Initialize the SDK const inovaSDK = new InovaSDK(connection); // Investment Pool public key const poolAddress = new PublicKey('Ghi456...jkl789'); // Get pool information const poolInfo = await inovaSDK.getPoolInfo(poolAddress); console.log('Pool info:', poolInfo); // Invest in the pool const investmentAmount = 2.5; // SOL const txSignature = await inovaSDK.invest(poolAddress, investmentAmount); console.log('Investment successful:', txSignature);
Security
Security is a top priority for INOVA. This section outlines our security measures and best practices for users and developers.
Audit Reports
All INOVA smart contracts have undergone rigorous security audits by leading blockchain security firms. The full audit reports are available for review.
Security Features
- Multi-signature wallet requirements for project withdrawals
- Time-locked funds to prevent immediate drainage
- Circuit breakers to pause the system in case of detected anomalies
- Governance approval for critical parameter updates
- Formal verification of critical contract functions
Configuration
Configure the INOVA SDK and tools to suit your specific requirements and environment.
SDK Configuration Options
// Full configuration options const config = { // Network settings network: 'mainnet', // 'mainnet', 'devnet', 'testnet', or 'localnet' endpoint: 'https://api.mainnet-beta.solana.com', // Custom RPC endpoint // Transaction settings commitment: 'confirmed', // 'processed', 'confirmed', or 'finalized' preflightCommitment: 'processed', // Timeout settings (in milliseconds) txTimeout: 30000, confirmTimeout: 60000, // Fee settings priorityFee: 'auto', // 'auto', 'low', 'medium', 'high', or a specific number // Cache settings cacheEnabled: true, cacheTTL: 60000, // milliseconds // Logging logLevel: 'warn', // 'debug', 'info', 'warn', 'error', or 'none' }; const inova = new InovaClient(config);
API Reference
This section provides detailed information about the API endpoints and methods available in the INOVA SDK.
Core Methods
connect()
Connects to a Solana wallet and initializes the client.
Example:
await inova.connect();
getProjects(filters)
Retrieves a list of investment projects based on optional filters.
Parameters:
- filters (optional): Object containing filter criteria
Example:
const projects = await inova.getProjects({ category: 'defi', status: 'active', minTarget: 100, });
invest(options)
Invests in a project by sending funds to its investment pool.
Parameters:
- options.projectId (required): ID of the project to invest in
- options.amount (required): Amount to invest in SOL
- options.referrer (optional): Referrer's public key
Example:
const txSignature = await inova.invest({ projectId: 'project123', amount: 2.5, });
For a complete reference of all available methods and options, visit ourAPI documentation repository.
Need more help? Join our Discord community orsubmit an issue on GitHub.