Skip to main content
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

Core vault functionality and metadata access.

List Vaults

Browse all available vaults with TVL, status, and basic info

Vault Metadata

Detailed vault configuration, fees, constraints, and contract info

Vault Statistics

Current TVL and past month APR performance metrics

Status Monitoring

Track vault status (live, paused, retired) and operational state
Historical and real-time performance tracking.

Vault Timeseries

TVL and PnL evolution with 7d, 30d, 1y, or all-time views

Vault KPIs

Cumulative PnL, Sharpe ratio, max drawdown, profit share metrics

User Historical

Track user PnL over time (all-time, unrealized, realized)

User KPIs

Personal Sharpe, Sortino, drawdown, and PnL breakdowns
Advanced liquidity analysis and simulation tools.

Liquidity Summary

24h deposit/withdraw capacities and liquidity policies

Slippage Curves

Visualize slippage (bps) for different withdrawal amounts (USD)

Withdrawal Simulation

Estimate instant slippage or scheduled redemption windows

Liquidity Status

Check if vault is liquid and operational capacity limits
Returns, allocations, and risk management.

APR Summary

Current APR with nominal or inflation-adjusted basis

Historical APR

APR time-series for 7d, 30d, 1y, or all-time periods

Vault Composition

Current allocations by platform or asset with percentages

Historical Composition

Track allocation changes over time with weighted percentages

Risk Caps

Monitor current values vs configured limits

NAV Reports

Latest NAV with AUM, variance, and PDF reports
Track user portfolios and transactions by wallet address.

User Profile

Get user info including chain and display currency preferences

Position Summary

Current position value, shares, and earnings for a vault

Historical Performance

User’s historical PnL timeseries (all-time, unrealized, realized)

Performance KPIs

User-specific Sharpe, Sortino, drawdown metrics

Transaction History

List deposits, withdrawals, fees with filtering and pagination

Multi-Vault Support

Track positions across multiple vaults per user

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