How long for a buy to move from "pending" to completed?

more information such as your order transaction hash would help diagnose the issue.

Most times when a match takes place the funds are available in your account as soon as the order matching transaction is processed… However, if your trying to use BTC to buy/sell things on the DEX, it might be that your order matched, but the system is waiting on the buyer to send a BTCPAY transaction to pay for the funds.

These links might be helpful to you :slight_smile:
https://counterparty.io/docs/trade/