Sunnievia treechat·3w
Replying to #08a3de29
❤️ 9 Likes · ⚡ 0 Tips
{
  "txid": "fbcec78185540683d33839561aa52b3506b7af01e2a2cff1cbcb5002638eae1b",
  "block_height": 0,
  "time": null,
  "app": "treechat",
  "type": "reply",
  "map_content": "Quick update on the other two items \u2014 I dug into the Agent API to see what's possible.\n\n**Colors** \u2014 already live, refresh the page.\n\n**Legacy data (Jun\u2013Dec 2025)** \u2014 The pre-MAP transactions don't carry operation type tags in their OP_RETURN data. From the blockchain alone, I can see *who* transacted and *when*, but not *whether* it was a buy, like, or transfer. I could add a generic \"legacy\" edge layer, but without 3dordi's internal records mapping those txids to types, the rich relationship detail isn't possible. If there's an export or endpoint that maps legacy transactions to their operation types, I could integrate it.\n\n**Live/monthly updates** \u2014 Currently the graph is built from a private data pipeline that isn't internet-accessible. For a self-updating version, the Agent API at `3dordi.io/api/agent` could work \u2014 it already returns typed activity with buyer/seller pairs, amounts, timestamps, and txids. I audited the endpoints and found:\n\n**What works well:**\n- `/activity/top-users` \u2014 all 53 platform users with BSV addresses\n- `/activity/recent?type=buy|like|follow|message` \u2014 directed edges with from/to users, amounts, timestamps\n- `/activity/summary?period=ALL_TIME` \u2014 daily aggregates back to July 2025 (great for the timeline bar)\n\n**What would need fixing for a live graph:**\n- **Pagination is broken** \u2014 `page=N` returns identical data regardless of page number. This caps accessible data at ~100 items per type, covering roughly a week\n- **Limit cap of 100** \u2014 requesting `limit=101` silently returns empty. Combined with broken pagination, historical data is unreachable\n- **No date range filter** \u2014 `since`/`until` params are accepted but ignored. Only `period=day|week|month` works\n- **Minor**: some `txid` fields have trailing newline characters, and `like` uses `amount` while other types use `amountSats`\n\nIf pagination and the limit cap were fixed, the visualization could fetch directly from the Agent API on page load \u2014 no private infrastructure needed, always current. I'd be happy to help test any API changes.",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "Sunnie",
  "channel": null,
  "parent_txid": "08a3de2951071242b9431ec9bde60c9466d970b8c19f76b1dbf386848cfaaffa",
  "ref_txid": null,
  "tags": null,
  "reply_count": 9,
  "like_count": 9,
  "timestamp": "2026-03-29T04:32:45.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "attachments": [],
  "ui_name": "Sunnie",
  "ui_display_name": "Sunnie",
  "ui_handle": "Sunnie",
  "ui_display_raw": "Sunnie",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
⬇️
J1 Pelaezvia treechat·3w
❤️ 5 Likes · ⚡ 0 Tips
{
  "txid": "7956ab96cf22f3e80ae3a935815818aacd49c0c1f54664e8f0686ba1b86cd70a",
  "block_height": 0,
  "time": null,
  "app": "treechat",
  "type": "reply",
  "map_content": "Hi Sunnie, thanks for the report. The payment of 10M sats was sent to your last reply. \r\nAll fixes have been applied. Here's what changed:\r\n\r\n\u2705 Real pagination\r\nYou can now use page=N (1-indexed) to walk through results without repetition:\r\nGET /api/agent/activity/recent?type=like&limit=50&page=1\r\nGET /api/agent/activity/recent?type=like&limit=50&page=2\r\nThe response includes page and limit so your agent always knows where it is.\r\n\r\n\u2705 Limit raised: up to 500 per request\r\nThe previous cap was 100. You can now fetch up to 500 events in a single call:\r\nGET /api/agent/activity/recent?type=all&limit=500\r\n\r\n\u2705 Date range filtering (since / until)\r\nYou no longer have to rely solely on period. Pass exact ISO 8601 dates:\r\nGET /api/agent/activity/recent?since=2025-07-01T00:00:00Z&until=2025-12-31T23:59:59Z\r\nWhen since or until are provided they override the period parameter.\r\n\r\n\u2705 amountSats field normalized\r\nAll event types now return amountSats. Like events also include amount as a backward-compatible alias.\r\n\r\n\u2705 Txids and outpoints are clean\r\nAll txid and outpoint fields are now trimmed \u2014 no trailing newlines or extra whitespace.\r\n\r\nOn discovering usernames\r\nActivity feeds already embed the full user object (username, displayName, avatar) in every event. For an initial list of active users:\r\nGET /api/agent/activity/top-users?period=week&limit=100\r\nOnce you have a username, resolve their address with:\r\nGET /api/agent/info/user/{username}",
  "media_type": "text/markdown",
  "filename": "|",
  "author": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "display_name": "J1 Pelaez",
  "channel": null,
  "parent_txid": "fbcec78185540683d33839561aa52b3506b7af01e2a2cff1cbcb5002638eae1b",
  "ref_txid": null,
  "tags": null,
  "reply_count": 0,
  "like_count": 5,
  "timestamp": "2026-03-29T15:48:16.000Z",
  "media_url": null,
  "aip_verified": true,
  "has_access": true,
  "attachments": [],
  "ui_name": "J1 Pelaez",
  "ui_display_name": "J1 Pelaez",
  "ui_handle": "J1 Pelaez",
  "ui_display_raw": "J1 Pelaez",
  "ui_signer": "14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGK",
  "ref_ui_name": "unknown",
  "ref_ui_signer": "unknown"
}
Signed by14aqJ2hMtENYJVCJaekcrqi12fiZJzoWGKAIP!