Skip to main content

Function Signature

Future<YieldXyzGetYieldsResponse> discover({
  YieldXyzGetYieldsRequest? request,
})

Description

Search for available yield opportunities across different networks and protocols.

Parameters

ParameterTypeRequiredDescription
requestYieldXyzGetYieldsRequest?NoOptional filters for the search
YieldXyzGetYieldsRequest fields:
FieldTypeDescription
offsetint?Pagination offset
limitint?Maximum number of results
networkString?Filter by blockchain network
yieldIdString?Filter by specific yield opportunity ID
typeYieldXyzMechanicsType?Filter by mechanics type (staking, restaking, lending, vault, fixedYield, realWorldAsset)
hasCooldownPeriodbool?Filter opportunities with cooldown
hasWarmupPeriodbool?Filter opportunities with warmup
tokenString?Filter by token symbol
inputTokenString?Filter by input token
providerString?Filter by yield provider
searchString?Text search across opportunities
sortYieldXyzGetYieldsSort?Sort order (statusEnterAsc, statusEnterDesc, statusExitAsc, statusExitDesc)

Returns

YieldXyzGetYieldsResponse - An object containing:
PropertyTypeDescription
itemsList<YieldOpportunity?>List of yield opportunities
totalintTotal number of available opportunities
offsetintCurrent pagination offset
limitintCurrent page size

Example

import 'package:portal_flutter/portal_flutter.dart';

final portal = Portal();

final response = await portal.yieldIntegrations.yieldxyz.discover(
  request: YieldXyzGetYieldsRequest(
    network: 'ethereum',
    token: 'USDC',
    type: YieldXyzMechanicsType.lending,
    limit: 10,
  ),
);

for (final opportunity in response.items) {
  print('Yield: ${opportunity?.id}');
}

Errors

CodeDescription
NOT_INITIALIZEDPortal was not initialized
YIELD_FAILEDFailed to discover yield opportunities