0D Finance API
Welcome to the 0D API documentation. We’re building the best DeFi vaults, reach out if you have questions or want to discuss partnership opportunities. On Starknet 0D is leveraging the audited Starknet Vault Kit to ensure an efficient and secure vault infrastructure.

Key Features

Vault Infrastructure

Access and manage sophisticated vault strategies with real-time TVL tracking, composition analysis, and automated rebalancing.

Performance Analytics

Track detailed performance metrics including Sharpe ratios, maximum drawdown, and historical PnL with institutional-grade accuracy.

Liquidity Management

Simulate withdrawals, calculate slippage, and optimize liquidity provisioning with advanced modeling capabilities.

Portfolio Tracking

Monitor user positions, transaction history, and earnings across multiple wallets with comprehensive portfolio analytics.

Base URL

https://0d.finance/api/v1
Use the primary endpoint for best performance and reliability in production environments.

Public API

All endpoints are publicly accessible without authentication. Simply make requests to our API endpoints to access vault data, performance metrics, and user portfolio information.

Open Access

The 0D Finance API provides unrestricted access to:
  • Vault Operations: List vaults, get metadata, and statistics
  • Performance Metrics: Historical timeseries (TVL/PnL) and KPIs
  • Liquidity Management: Capacities, slippage curves, and withdrawal simulations
  • APR Analytics: Current summaries and historical series
  • Composition Tracking: Current allocations and historical changes
  • Risk Monitoring: Caps and NAV reports
  • User Portfolios: Track positions, performance, and transactions by wallet address

API Categories

Getting Started

1

Choose Your Environment

Select between production endpoints based on your needs.
2

Make Your First Request

Start fetching vault data immediately - no authentication required:
// Fetch vault list
const vaultsResponse = await fetch('https://0d.finance/api/v1/vaults');
const vaults = await vaultsResponse.json();

// Get specific vault details
const vaultId = 'starknet-elp';
const detailsResponse = await fetch(`https://0d.finance/api/v1/vaults/${vaultId}`);
const vaultDetails = await detailsResponse.json();

// Get vault statistics
const statsResponse = await fetch(`https://0d.finance/api/v1/vaults/${vaultId}/stats`);
const stats = await statsResponse.json();

console.log(`Vault: ${vaultDetails.name}`);
console.log(`TVL: $${stats.tvl}`);
console.log(`APR: ${stats.past_month_apr_pct}%`);
3

Track User Portfolios

Monitor user positions and performance by wallet address:
// Get user profile
const userAddress = '0x123...abc';
const vaultId = 'starknet-elp';

const userResponse = await fetch(
  `https://0d.finance/api/v1/users/${userAddress}`
);
const user = await userResponse.json();

// Get user position summary
const summaryResponse = await fetch(
  `https://0d.finance/api/v1/users/${userAddress}/vaults/${vaultId}/summary`
);
const summary = await summaryResponse.json();

// Get user performance KPIs
const kpisResponse = await fetch(
  `https://0d.finance/api/v1/users/${userAddress}/vaults/${vaultId}/kpis`
);
const kpis = await kpisResponse.json();

// Get transaction history
const txResponse = await fetch(
  `https://0d.finance/api/v1/users/${userAddress}/vaults/${vaultId}/transactions?limit=10`
);
const transactions = await txResponse.json();

console.log(`Position Value: $${summary.position_value_usd}`);
console.log(`Total Deposits: $${summary.total_deposits}`);
console.log(`All-time Earned: $${summary.all_time_earned}`);
console.log(`All-time PnL: $${kpis.all_time_pnl_usd}`);
console.log(`Sharpe Ratio: ${kpis.sharpe}`);
4

Explore Advanced Features

Leverage our comprehensive endpoints for sophisticated DeFi applications.

Response Format

All API responses follow a consistent JSON structure for predictable integration.

Success Response

{
  "data": {
    // Requested data
  },
  "meta": {
    "timestamp": "2025-01-14T12:00:00Z",
    "version": "1.0.0"
  }
}

Error Response

{
  "error": {
    "code": "VAULT_NOT_FOUND",
    "message": "The requested vault does not exist",
    "request_id": "req_abc123"
  }
}
Large numerical values exceeding JavaScript’s safe integer range are returned as strings to preserve precision.

Rate Limits

Rate limits are applied per IP address to ensure fair usage and system stability.
Endpoint TypeRate LimitWindow
Public endpoints100 requests1 minute

Support & Resources