Try making a trading system where players can do /trade <player> and it will send a trade request to arg-1 then arg-1 can do /trade accept or /trade <player> to accept the trade. Opens up a GUI and they can place items in the GUI and trade, they will have to both accept the trade by pressing something in the GUI and there will be a cooldown when they both accept it. If one of them closes the GUI or someone moved/push them, the trade is cancel.
Make it so Staff can spectate a ongoing trade. Like when a trade request is accepted, it sends a message to all staff where they can do /tradespec <player> <player> to spectate those players trade. Staff won't be able to take out items from the trade. Also, if possible, make it so there is a button in the GUI for staff where they can press it to cancel the players trade.