BarnBridge SMART Yield API

Structured-product yield pools with senior/junior tranches

Operations 17

GET /api/smartyield/pools List SMART Yield pools #
GET /api/smartyield/pools/{address} Get SMART Yield pool by address #
GET /api/smartyield/pools/{address}/apy Get APY trend for a SMART Yield pool #
GET /api/smartyield/pools/{address}/liquidity Get liquidity chart for a SMART Yield pool #
GET /api/smartyield/pools/{address}/transactions List transactions for a SMART Yield pool #
GET /api/smartyield/pools/{address}/senior-bonds List senior bonds for a SMART Yield pool #
GET /api/smartyield/pools/{address}/junior-bonds List junior bonds for a SMART Yield pool #
GET /api/smartyield/rewards/pools List SMART Yield reward pools (v1) #
GET /api/smartyield/rewards/pools/{poolAddress}/transactions List staking-action transactions for a reward pool (v1) #
GET /api/smartyield/rewards/v2/pools List SMART Yield reward pools (v2) #
GET /api/smartyield/rewards/v2/pools/{poolAddress}/transactions List staking-action transactions for a reward pool (v2) #
GET /api/smartyield/users/{address}/history Get SMART Yield transaction history for a user #
GET /api/smartyield/users/{address}/redeems/senior Get senior bond redeems for a user #
GET /api/smartyield/users/{address}/junior-past-positions Get past junior positions for a user #
GET /api/smartyield/users/{address}/portfolio-value Get total portfolio value for a user #
GET /api/smartyield/users/{address}/portfolio-value/junior Get junior portfolio value for a user #
GET /api/smartyield/users/{address}/portfolio-value/senior Get senior portfolio value for a user #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/barnbridge-smart-yield-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

barnbridge-smart-yield-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BarnBridge Governance SMART Yield API
  description: 'BarnBridge is a risk tokenization DeFi protocol. This REST API exposes endpoints for querying SMART Yield structured products, SMART Alpha price-volatility pools, SMART Exposure automated-rebalancing tranches, DAO Governance proposals and treasury data, and Yield Farming staking analytics.

    '
  version: 2.0.0
  contact:
    name: BarnBridge Discord
    url: https://discord.com/invite/FfEhsVk
  license:
    name: GPL-3.0
    url: https://github.com/BarnBridge/internal-api/blob/main/LICENSE
  x-logo:
    url: https://barnbridge.com/logo.png
servers:
- url: https://api-v2.barnbridge.com
  description: BarnBridge Production API
tags:
- name: SMART Yield
  description: Structured-product yield pools with senior/junior tranches
paths:
  /api/smartyield/pools:
    get:
      operationId: listSmartYieldPools
      summary: List SMART Yield pools
      tags:
      - SMART Yield
      description: Returns all SMART Yield structured-product pools with current liquidity, APY, and state data. Optionally filter by originator protocol or underlying token symbol.
      parameters:
      - name: originator
        in: query
        description: Comma-separated list of originator protocol IDs, or "all" (default).
        schema:
          type: string
          default: all
        example: compound/v2
      - name: underlyingSymbol
        in: query
        description: Underlying asset symbol filter (case-insensitive), or "all" (default).
        schema:
          type: string
          default: all
        example: USDC
      responses:
        '200':
          description: Array of SMART Yield pool objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '500':
          $ref: '#/components/responses/InternalError'
  /api/smartyield/pools/{address}:
    get:
      operationId: getSmartYieldPool
      summary: Get SMART Yield pool by address
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/poolAddress'
      responses:
        '200':
          description: Single SMART Yield pool object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/smartyield/pools/{address}/apy:
    get:
      operationId: getSmartYieldPoolAPYTrend
      summary: Get APY trend for a SMART Yield pool
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/poolAddress'
      - $ref: '#/components/parameters/windowParam'
      responses:
        '200':
          description: Time-series array of APY data points
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/pools/{address}/liquidity:
    get:
      operationId: getSmartYieldPoolLiquidity
      summary: Get liquidity chart for a SMART Yield pool
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/poolAddress'
      - $ref: '#/components/parameters/windowParam'
      responses:
        '200':
          description: Time-series array of liquidity data points
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/pools/{address}/transactions:
    get:
      operationId: listSmartYieldPoolTransactions
      summary: List transactions for a SMART Yield pool
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/poolAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated list of pool transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/pools/{address}/senior-bonds:
    get:
      operationId: listSmartYieldSeniorBonds
      summary: List senior bonds for a SMART Yield pool
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/poolAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated list of senior bond positions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/pools/{address}/junior-bonds:
    get:
      operationId: listSmartYieldJuniorBonds
      summary: List junior bonds for a SMART Yield pool
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/poolAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated list of junior bond positions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/rewards/pools:
    get:
      operationId: listSmartYieldRewardPools
      summary: List SMART Yield reward pools (v1)
      tags:
      - SMART Yield
      responses:
        '200':
          description: Array of reward pool objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/rewards/pools/{poolAddress}/transactions:
    get:
      operationId: listSmartYieldRewardPoolTransactions
      summary: List staking-action transactions for a reward pool (v1)
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/rewardPoolAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated list of staking-action transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/rewards/v2/pools:
    get:
      operationId: listSmartYieldRewardPoolsV2
      summary: List SMART Yield reward pools (v2)
      tags:
      - SMART Yield
      responses:
        '200':
          description: Array of v2 reward pool objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/rewards/v2/pools/{poolAddress}/transactions:
    get:
      operationId: listSmartYieldRewardPoolTransactionsV2
      summary: List staking-action transactions for a reward pool (v2)
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/rewardPoolAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated list of v2 staking-action transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/users/{address}/history:
    get:
      operationId: getSmartYieldUserHistory
      summary: Get SMART Yield transaction history for a user
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/userAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated transaction history
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/users/{address}/redeems/senior:
    get:
      operationId: getSmartYieldUserSeniorRedeems
      summary: Get senior bond redeems for a user
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/userAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated list of senior bond redeems
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/users/{address}/junior-past-positions:
    get:
      operationId: getSmartYieldUserJuniorPastPositions
      summary: Get past junior positions for a user
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/userAddress'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: Paginated list of past junior positions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/users/{address}/portfolio-value:
    get:
      operationId: getSmartYieldUserPortfolioValue
      summary: Get total portfolio value for a user
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/userAddress'
      responses:
        '200':
          description: Portfolio value breakdown
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/users/{address}/portfolio-value/junior:
    get:
      operationId: getSmartYieldUserJuniorPortfolioValue
      summary: Get junior portfolio value for a user
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/userAddress'
      responses:
        '200':
          description: Junior portfolio value breakdown
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
  /api/smartyield/users/{address}/portfolio-value/senior:
    get:
      operationId: getSmartYieldUserSeniorPortfolioValue
      summary: Get senior portfolio value for a user
      tags:
      - SMART Yield
      parameters:
      - $ref: '#/components/parameters/userAddress'
      responses:
        '200':
          description: Senior portfolio value breakdown
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
components:
  schemas:
    SuccessResponse:
      type: object
      description: Standard API success envelope.
      properties:
        status:
          type: integer
          example: 200
        data:
          description: Response payload — array or object depending on endpoint.
          oneOf:
          - type: array
            items: {}
          - type: object
        meta:
          $ref: '#/components/schemas/Meta'
    Meta:
      type: object
      description: Optional metadata accompanying paginated or block-aware responses.
      properties:
        count:
          type: integer
          description: Total record count (for paginated endpoints).
          example: 125
        block:
          $ref: '#/components/schemas/BlockInfo'
    BlockInfo:
      type: object
      description: Ethereum block context at the time of the query.
      properties:
        blockNumber:
          type: integer
          format: int64
          example: 15234567
        blockTimestamp:
          type: integer
          format: int64
          description: Unix timestamp of the block.
          example: 1660000000
    ErrorResponse:
      type: object
      description: Standard error envelope.
      properties:
        status:
          type: integer
          example: 400
        error:
          type: string
          example: invalid pool address
  parameters:
    pageParam:
      name: page
      in: query
      description: 1-based page number for pagination.
      schema:
        type: integer
        minimum: 1
        default: 1
    windowParam:
      name: window
      in: query
      description: Time window for chart/trend data (e.g. "24h", "7d", "30d").
      schema:
        type: string
        enum:
        - 24h
        - 7d
        - 30d
        default: 30d
    poolAddress:
      name: address
      in: path
      required: true
      description: Ethereum address of the SMART Yield pool (checksummed or lowercase).
      schema:
        type: string
        pattern: ^0x[0-9a-fA-F]{40}$
      example: '0x4B8d90D68F26DEF303Dcb6CFc9b63A1aAEC15840'
    limitParam:
      name: limit
      in: query
      description: Number of items per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    rewardPoolAddress:
      name: poolAddress
      in: path
      required: true
      description: Ethereum address of the reward pool.
      schema:
        type: string
        pattern: ^0x[0-9a-fA-F]{40}$
      example: '0x3FdFb07472ea4771E1aD66FD3b87b265Cd4ec112'
    userAddress:
      name: address
      in: path
      required: true
      description: Ethereum address of the user.
      schema:
        type: string
        pattern: ^0x[0-9a-fA-F]{40}$
      example: '0xabcdef1234567890abcdef1234567890abcdef12'
  responses:
    BadRequest:
      description: Invalid parameter or address.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'