{
  "generated_at": "2026-09-25T18:26:59.456574+00:00",
  "tree": {
    "id": "2025-04-26-hou-mia",
    "name": "Kaelon Black (2025) trade tree",
    "root_trade_id": "spotrac-20250426-hou-mia",
    "featured": false,
    "blurb": "On April 26, 2025, Houston Texans sent a 2025 fourth-round pick (No. 179, became Ollie Gordon II) and a 2026 third-round pick (No. 90, became Kaelon Black) to Miami Dolphins for a 2025 fourth-round pick (No. 116, became Woody Marks) and a 2025 seventh-round pick (No. 224, became Kyonte Hamilton)."
  },
  "trades": [
    {
      "id": "spotrac-20250426-hou-mia",
      "date": "2025-04-26",
      "season": 2025,
      "teams": [
        "HOU",
        "MIA"
      ],
      "legs": [
        {
          "team": "HOU",
          "sent": [
            "pick-2025-r4-HOU-179",
            "pick-2026-r3-HOU-90"
          ],
          "received": [
            "pick-2025-r4-MIA-116",
            "pick-2025-r7-MIA-224"
          ]
        },
        {
          "team": "MIA",
          "sent": [
            "pick-2025-r4-MIA-116",
            "pick-2025-r7-MIA-224"
          ],
          "received": [
            "pick-2025-r4-HOU-179",
            "pick-2026-r3-HOU-90"
          ]
        }
      ],
      "notes": "",
      "sources": [
        "https://www.spotrac.com/nfl/transactions/trade/"
      ],
      "summary": "On April 26, 2025, Houston Texans sent a 2025 fourth-round pick (No. 179, became Ollie Gordon II) and a 2026 third-round pick (No. 90, became Kaelon Black) to Miami Dolphins for a 2025 fourth-round pick (No. 116, became Woody Marks) and a 2025 seventh-round pick (No. 224, became Kyonte Hamilton).",
      "truncated": false
    },
    {
      "id": "spotrac-20260423-mia-sf",
      "date": "2026-04-23",
      "season": 2026,
      "teams": [
        "MIA",
        "SF"
      ],
      "legs": [
        {
          "team": "MIA",
          "sent": [
            "pick-2026-r1-DEN-30",
            "pick-2026-r3-HOU-90"
          ],
          "received": [
            "pick-2026-r1-SF-27",
            "pick-2026-r4-SF-138"
          ]
        },
        {
          "team": "SF",
          "sent": [
            "pick-2026-r1-SF-27",
            "pick-2026-r4-SF-138"
          ],
          "received": [
            "pick-2026-r1-DEN-30",
            "pick-2026-r3-HOU-90"
          ]
        }
      ],
      "notes": "",
      "sources": [
        "https://www.spotrac.com/nfl/transactions/trade/"
      ],
      "summary": "On April 23, 2026, Miami Dolphins sent a 2026 first-round pick (No. 30, became Omar Cooper) and a 2026 third-round pick (No. 90, became Kaelon Black) to San Francisco 49ers for a 2026 first-round pick (No. 27, became Chris Johnson) and a 2026 fourth-round pick (No. 138, became Kyle Louis).",
      "truncated": false
    }
  ],
  "assets": [
    {
      "id": "pick-2025-r4-HOU-179",
      "kind": "pick",
      "player_name": null,
      "position": null,
      "pick_year": 2025,
      "pick_round": 4,
      "original_club": "HOU",
      "pick_number": 179,
      "status": "resolved",
      "resolved_player": "Ollie Gordon II",
      "condition": null,
      "notes": "Original club not shown on Spotrac; assumed HOU.",
      "unverified": true
    },
    {
      "id": "pick-2025-r4-MIA-116",
      "kind": "pick",
      "player_name": null,
      "position": null,
      "pick_year": 2025,
      "pick_round": 4,
      "original_club": "MIA",
      "pick_number": 116,
      "status": "resolved",
      "resolved_player": "Woody Marks",
      "condition": null,
      "notes": "Original club not shown on Spotrac; assumed MIA.",
      "unverified": true
    },
    {
      "id": "pick-2025-r7-MIA-224",
      "kind": "pick",
      "player_name": null,
      "position": null,
      "pick_year": 2025,
      "pick_round": 7,
      "original_club": "MIA",
      "pick_number": 224,
      "status": "resolved",
      "resolved_player": "Kyonte Hamilton",
      "condition": null,
      "notes": "Original club not shown on Spotrac; assumed MIA.",
      "unverified": true
    },
    {
      "id": "pick-2026-r1-DEN-30",
      "kind": "pick",
      "player_name": null,
      "position": null,
      "pick_year": 2026,
      "pick_round": 1,
      "original_club": "DEN",
      "pick_number": 30,
      "status": "resolved",
      "resolved_player": "Omar Cooper",
      "condition": null,
      "notes": "Original club not shown on Spotrac; assumed DEN.",
      "unverified": true
    },
    {
      "id": "pick-2026-r1-SF-27",
      "kind": "pick",
      "player_name": null,
      "position": null,
      "pick_year": 2026,
      "pick_round": 1,
      "original_club": "SF",
      "pick_number": 27,
      "status": "resolved",
      "resolved_player": "Chris Johnson",
      "condition": null,
      "notes": "Original club not shown on Spotrac; assumed SF.",
      "unverified": true
    },
    {
      "id": "pick-2026-r3-HOU-90",
      "kind": "pick",
      "player_name": null,
      "position": null,
      "pick_year": 2026,
      "pick_round": 3,
      "original_club": "HOU",
      "pick_number": 90,
      "status": "resolved",
      "resolved_player": "Kaelon Black",
      "condition": null,
      "notes": "Original club not shown on Spotrac; assumed HOU.",
      "unverified": true
    },
    {
      "id": "pick-2026-r4-SF-138",
      "kind": "pick",
      "player_name": null,
      "position": null,
      "pick_year": 2026,
      "pick_round": 4,
      "original_club": "SF",
      "pick_number": 138,
      "status": "resolved",
      "resolved_player": "Kyle Louis",
      "condition": null,
      "notes": "Original club not shown on Spotrac; assumed SF.",
      "unverified": true
    },
    {
      "id": "player-kyle-louis",
      "kind": "player",
      "player_name": "Kyle Louis",
      "position": "LB",
      "pick_year": null,
      "pick_round": null,
      "original_club": null,
      "pick_number": null,
      "status": "resolved",
      "resolved_player": null,
      "condition": null,
      "notes": "Drafted 2026 round 4 #138 by MIA (pick originally SF)",
      "unverified": false
    },
    {
      "id": "player-omar-cooper",
      "kind": "player",
      "player_name": "Omar Cooper",
      "position": "WR",
      "pick_year": null,
      "pick_round": null,
      "original_club": null,
      "pick_number": null,
      "status": "resolved",
      "resolved_player": null,
      "condition": null,
      "notes": "Drafted 2026 round 1 #30 by NYJ (pick originally DEN)",
      "unverified": false
    }
  ],
  "links": [
    {
      "asset_id": "pick-2026-r1-DEN-30",
      "from_trade_id": "spotrac-20260423-mia-sf",
      "to_trade_id": null,
      "via": "drafted"
    },
    {
      "asset_id": "pick-2026-r3-HOU-90",
      "from_trade_id": "spotrac-20250426-hou-mia",
      "to_trade_id": "spotrac-20260423-mia-sf",
      "via": "pick-conveyed"
    },
    {
      "asset_id": "pick-2026-r4-SF-138",
      "from_trade_id": "spotrac-20260423-mia-sf",
      "to_trade_id": null,
      "via": "drafted"
    }
  ]
}
