Technical Documentation

Developer & investor
documentation

Comprehensive guides, API references, and integration documentation for institutional investors and developers building on EnerBase.

Getting Started

1. Institutional Account Setup

EnerBase is available exclusively to accredited institutional investors. The onboarding process includes:

  • Entity Verification: Submit incorporation documents, beneficial ownership information, and institutional accreditation proof.
  • KYC/AML Compliance: Complete identity verification for authorized signatories and ultimate beneficial owners.
  • Risk Assessment: Institutional risk profile review and suitability determination.
  • Stellar Account Creation: Generate Ed25519 keypair and establish authorized trustlines for desired energy tokens.
Onboarding Timeline: 5-10 business days
Contact: institutional@enerbase.org

2. Wallet Configuration

Institutional investors can manage EnerBase tokens using:

Custody Solutions
  • • Fireblocks (recommended)
  • • Coinbase Custody
  • • BitGo
  • • Anchorage Digital
Self-Custody
  • • Ledger hardware wallet
  • • Stellar Laboratory (advanced)
  • • Custom HSM integration
  • • Multi-signature schemes

3. Token Acquisition

// Establish trustline for ebSHELL token const asset = new Asset('ebSHELL', 'GXXXXXXXXXXXXXXXXXXXXX'); const trustlineOp = Operation.changeTrust({ asset }); const transaction = new TransactionBuilder(account) .addOperation(trustlineOp) .setTimeout(180) .build(); // Sign and submit transaction.sign(keypair); await server.submitTransaction(transaction);

API Reference

Base URL

Production: https://api.enerbase.org/v1
Stellar Horizon: https://horizon.stellar.org

Authentication

All API requests require authentication using Ed25519 signed messages:

POST /v1/auth/challenge // Returns: { challenge: "base64_string" } // Sign challenge with your private key const signature = keypair.sign(Buffer.from(challenge, 'base64')); POST /v1/auth/verify { "public_key": "GXXXXXXXXXXXX", "challenge": "base64_string", "signature": "base64_signature" } // Returns: { token: "jwt_token", expires_in: 3600 }

Core Endpoints

GET/assets

List all available energy tokens

GET/assets/{symbol}

Get detailed information about a specific token

GET/accounts/{account_id}

Retrieve account balance and holdings

GET/transactions

Query transaction history with filters

POST/trades/execute

Execute a trade (requires compliance check)

GET/market/orderbook

Get current order book for an asset pair

SDKs & Libraries

JavaScript / TypeScript

npm install @enerbase/sdk stellar-sdk import { EnerBase } from '@enerbase/sdk'; import StellarSdk from 'stellar-sdk'; const client = new EnerBase({ apiKey: process.env.ENERBASE_API_KEY, network: 'production' }); // Get token info const shell = await client.assets.get('ebSHELL'); // Execute trade const trade = await client.trades.execute({ selling: 'ebSHELL', buying: 'USDC', amount: '1000' });
View Documentation

Python

pip install enerbase-sdk stellar-sdk from enerbase import EnerBase client = EnerBase( api_key=os.environ['ENERBASE_API_KEY'], network='production' ) # Get token info shell = client.assets.get('ebSHELL') # Execute trade trade = client.trades.execute( selling='ebSHELL', buying='USDC', amount=1000 )
View Documentation