How a deal works

A deal starts with a purchase and ends when the seller has the money or the buyer has it back. Its usual way is short.

paid → sent → protected → settled

Statuses

paidThe buyer's money is held and the seller has to send the item. Without an offer the seller can cancel at any moment, the buyer after 30 minutes, and after 12 hours the money goes back by itself. With an offer the deal waits for that offer, up to 15 days.
sentThe offer is confirmed and the buyer can accept it. After 24 hours without an answer the seller gets close_offer.
protectedThe buyer accepted, and Steam can still reverse the trade, so the money waits 8 days. The buyer can open a dispute.
settledThe hold ended and the seller has the money, minus the fee.
cancelledOne of the two called the deal off before an offer existed. The buyer has the money back.
failedThe trade didn't happen. The buyer has the money back.
rolled_backThe seller reversed the trade. The buyer has the money back and the seller is banned for good.
disputedA person has to look, and no money moves until then. Steam reports wait in the deal.

deadline_at is when a deal moves on by itself, and buyer_cancels_at when the buyer can call it off.

Actions

Each deal lists in actions what you can do with it now. Follow that list instead of working it out from the status: it is the same one the site shows.

sendSeller: make the trade offer on Steam, and record it.
cancelEither side: call the deal off.
close_offerSeller: the buyer left the offer unanswered, so cancel it on Steam and report that.
disputeBuyer: report a problem during the hold.

Reasons

reason says why a deal ended up where it did, when there is a reason.

buyer_cancelledThe buyer called the deal off.
seller_cancelledThe seller called the deal off.
seller_did_not_send12 hours passed without an offer.
offer_declinedThe buyer declined the offer.
offer_cancelledThe offer was cancelled on Steam.
offer_expiredThe offer ran out of time.
offer_voidThe offer is no longer valid, or the buyer countered it.
item_goneThe item is no longer in the seller's inventory.
trade_failedSteam says the trade failed.
buyer_disputeThe buyer opened a dispute.
seller_bannedThe seller reversed another trade, so their other deals wait for a person.
dispute_refundA person decided for the buyer.
steam_offer_stateSteam gave an offer state Rockvel doesn't know, so a person looks.
steam_trade_statusSteam gave a trade status Rockvel doesn't know, so a person looks.
stuckThe deal couldn't move by itself, so a person looks.