Skip to main content
list_earn_positions returns the active positions for a single wallet address, one entry per wrapper the wallet holds shares in, with live on-chain values. It takes your organizationId (or the sub-organization that owns the wallet) and the walletAddress to return positions for; positions are scoped per wallet, not org-wide. See Get Earn positions in the API reference for the full request/response schema and cURL example.
Earn is in early access. Contact us to enable it for your organization.

Understanding the fields

Raw fields are exact base-10 integers in the asset’s smallest unit (e.g. "100512340" = 100.51234 USDC at 6 decimals). The totals accumulate from your deposit and withdrawal amounts; a MAX withdrawal closes the position and resets both totals to zero.
Don’t do arithmetic with display values; they are formatted, rounded strings for presentation. Compute with the raw fields using BigInt (or your language’s arbitrary-precision integers) rather than floats.

Computing yield

Yield earned to date is:
For example, a position with totalDeposited = "100000000" (100 USDC), totalWithdrawn = "0", and currentValue = "100512340" has earned 512340 raw units (0.51234 USDC), net of all fees. To pay out just the yield, see Claiming yield only.

Access notes

  • Positions are per wallet address: deposits made by a sub-organization wallet appear under that wallet’s address, queried with the sub-organization’s ID.
  • Some Earn management reads are restricted to the parent organization; position queries work for both parent and sub-organizations.

Next steps