User V2 vault position activity
Events that changed a user's share balance in a Morpho Vault V2, newest first, one row per event log.
Signs: deposit and shares_transfer_in add shares, withdraw and shares_transfer_out remove them. Folding the whole feed with those signs returns the shares of the position endpoint at the same last_indexed_block; a partial window does not reconcile, and neither does the feed of a fee recipient, whose balance also grows through fee mints this endpoint does not emit.
assets is never derived: it is present on deposit and withdraw, and absent on share transfers, whose ERC-20 log carries no asset amount.
Bundled transactions are reconciled: a share transfer to or from a bundler adapter that carries a bundled deposit or withdrawal is reported as that deposit or withdrawal.
A self-transfer is omitted, since it changes no balance. Rows are therefore capped, not filled, by limit: keep paginating until cursor is null.
Cursors are bound to the selector and to the type filter of the request that produced them; replaying one with different filters returns 400.
Vault selector example: 1:0x23f5E9c35820f4baB695Ac1F19c203cC3f8e1e11 (format: <chain_id>:<vault_address>; replace with the target vault).
Path Parameters
Position owner address. Example: 0xabcdefabcdefabcdefabcdefabcdefabcdefabcd.
addressSelector formatted as <chain_id>:<vault_address>. Example: 1:0x23f5E9c35820f4baB695Ac1F19c203cC3f8e1e11.
<chain_id>:<vault_address>Query Parameters
Maximum number of event logs to read.
1 <= value <= 1000100Opaque cursor returned by a previous page.
Restrict the feed to the given event types.
Response Body
application/json
curl -X GET "https://example.com/v0/vaults-v2/1:0x23f5E9c35820f4baB695Ac1F19c203cC3f8e1e11/users/0xabcdefabcdefabcdefabcdefabcdefabcdefabcd/position/activity"{ "params": { "chain_id": 1, "vault_address": "0x23f5E9c35820f4baB695Ac1F19c203cC3f8e1e11", "user_address": "0x0000000000000000000000000000000000000001" }, "data": [ { "type": "shares_transfer_out", "data": { "shares": "250000000000000000000", "to_address": "0x3F32bC09d41eE699844F8296e806417D6bf61Bba" }, "block_number": "19840000", "tx_hash": "0x4e3a9b0ff1c2d52d7e8c5e1d3b9a8f7e6c5b4a39281706f5e4d3c2b1a09f8e7d", "log_index": 12, "timestamp": 1715270400 }, { "type": "withdraw", "data": { "shares": "300000000000000000000", "assets": "302631578" }, "block_number": "19800500", "tx_hash": "0x1f2e3d4c5b6a798807162534435261708f9e0d1c2b3a49586776859403f2e1d0", "log_index": 4, "timestamp": 1714796400 }, { "type": "shares_transfer_in", "data": { "shares": "500000000000000000000", "from_address": "0x8Ba1f109551bD432803012645Ac136ddd64DBA72" }, "block_number": "19750200", "tx_hash": "0xa1b2c3d4e5f60718293a4b5c6d7e8f900112233445566778899aabbccddeeff0", "log_index": 88, "timestamp": 1714192800 }, { "type": "deposit", "data": { "shares": "1000000000000000000000", "assets": "1000000000" }, "block_number": "19700100", "tx_hash": "0x99887766554433221100ffeeddccbbaa99887766554433221100ffeeddccbbaa", "log_index": 30, "timestamp": 1713591600 } ], "cursor": null, "last_indexed_block": "19847234"}