List user Blue positions

Cursor-paginated list of a user's Morpho Blue market positions across exposed chains, one row per market the realtime position store holds for the user, listed or unlisted. By default (active_only=true), only positions with non-zero supply shares, borrow shares or collateral are returned. With active_only=false, positions the user has fully exited are also returned, with zero balances. Positions in blacklisted markets are removed from the store and never returned. Results can be filtered with chain_ids and market_ids. Pagination is weakly consistent and not snapshot-isolated: continuation pages re-evaluate realtime state, so changes to balances, active status or membership may omit or repeat rows. The response does not carry an indexed block.


GET
/v0/blue/users/{user-address}/positions

Path Parameters

user-address*string

User address to list positions for. Lowercase input is checksummed. Example: 0xabcdefabcdefabcdefabcdefabcdefabcdefabcd.

Formataddress

Query Parameters

chain_ids?array<>

Comma-separated EVM chain identifiers to filter on. Defaults to every exposed chain.

Itemsitems <= 100
market_ids?array<string>

Comma-separated Morpho Blue market identifiers to filter on.

Itemsitems <= 100
active_only?string

When true (default), excludes positions with zero supply shares, borrow shares, and collateral assets. When false, also returns fully exited positions with zero balances.

Default"true"

Value in

  • "true"
  • "false"
sort_by?string

Sort field for cursor pagination.

Default"market_id"

Value in

  • "market_id"
  • "supply_shares"
  • "borrow_shares"
  • "collateral_assets"
sort_direction?string

Sort direction.

Default"desc"

Value in

  • "asc"
  • "desc"
limit?integer

Maximum number of positions to return.

Range1 <= value <= 100
Default100
cursor?string

Opaque cursor returned by a previous page. Encodes the sort field, sort direction, user address and filter set; changing any of them invalidates it. Do not parse it.

Length1 <= length <= 4096

Response Body

application/json

curl -X GET "https://example.com/v0/blue/users/0xabcdefabcdefabcdefabcdefabcdefabcdefabcd/positions"
{  "cursor": null,  "data": [    {      "borrow_shares": "45000000000000000000000",      "chain_id": 1,      "collateral_assets": "12500000000000000000",      "market_id": "0xfff1970c0ffae288764186fbb38a9171a17e98676744a1e345809cb8b9e73342",      "supply_shares": "0"    }  ],  "params": {    "user_address": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd"  }}