Skip to main content

Overview

The Opportunities API provides access to all available vaults, money markets, and earning opportunities offered by Turtle. Each opportunity includes detailed information about supported tokens, chains, estimated APR, and current TVL (Total Value Locked).

Endpoints

Get All Opportunities

Retrieve all available earning opportunities with simplified token information.
curl -X GET "https://earn.turtle.xyz/v1/opportunities/"
Response
{
  "opportunities": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "USDC Vault",
      "description": "Stable yield on USDC deposits",
      "type": "vault",
      "tvl": 5000000.50,
      "estimatedApr": 8.5,
      "featured": true,
      "depositTokens": [
        {
          "id": "token-uuid",
          "name": "USD Coin",
          "symbol": "USDC",
          "address": "0xA0b86991...",
          "decimals": 6,
          "logoUrl": "https://...",
          "isNative": false,
          "chain": {
            "id": "chain-uuid",
            "name": "Ethereum",
            "slug": "ethereum",
            "chainId": "1",
            "logoUrl": "https://...",
            "ecosystem": "evm",
            "status": "active",
            "explorerUrl": "https://etherscan.io"
          }
        }
      ],
      "baseToken": {
        "id": "token-uuid",
        "name": "USD Coin",
        "symbol": "USDC",
        "address": "0xA0b86991...",
        "decimals": 6,
        "logoUrl": "https://...",
        "isNative": false,
        "chain": {
          "id": "chain-uuid",
          "name": "Ethereum",
          "slug": "ethereum",
          "chainId": "1",
          "logoUrl": "https://...",
          "ecosystem": "evm",
          "status": "active",
          "explorerUrl": "https://etherscan.io"
        }
      },
      "receiptToken": {
        "id": "token-uuid",
        "name": "Turtle USDC Vault",
        "symbol": "tUSDC",
        "address": "0x...",
        "decimals": 6,
        "logoUrl": "https://...",
        "isNative": false,
        "chain": {
          "id": "chain-uuid",
          "name": "Ethereum",
          "slug": "ethereum",
          "chainId": "1",
          "logoUrl": "https://...",
          "ecosystem": "evm",
          "status": "active",
          "explorerUrl": "https://etherscan.io"
        }
      }
    }
  ],
  "total": 12
}

Response Fields

Opportunity Object

id
uuid
required
Opportunity unique identifier
name
string
required
Opportunity display name
description
string
required
Opportunity detailed description
type
string
required
Opportunity type (e.g., vault, lending)
tvl
number
required
Total Value Locked in USD
estimatedApr
number
required
Estimated Annual Percentage Rate
Whether opportunity is featured
depositTokens
Token[]
required
Tokens accepted for deposit
baseToken
Token
required
Base token for the opportunity
receiptToken
Token
required
Token received as receipt for deposits

Token Object

id
uuid
required
Token unique identifier
name
string
required
Token full name
symbol
string
required
Token symbol (e.g., USDC, ETH)
address
string
required
Token contract address
decimals
integer
required
Token decimal places
logoUrl
string
required
Token logo image URL
isNative
boolean
required
Whether token is native to the chain
chain
Chain
required
Chain information where token exists

Chain Object

id
uuid
required
Chain unique identifier
name
string
required
Chain full name
slug
string
required
Chain URL-friendly identifier
chainId
string
required
Chain ID for wallet connections
logoUrl
string
required
Chain logo image URL
ecosystem
string
required
Blockchain ecosystem (e.g., EVM, Solana)
status
string
required
Chain operational status
explorerUrl
string
required
Block explorer base URL
  • Route API - Get optimal transaction routes for deposits
  • Deposits API - Track and query deposits through your distributor
  • Membership API - Connect wallets and create user memberships
I