If you’re managing assets across multiple brokers like Interactive Brokers (IBKR) and Charles Schwab, and you’ve ever tried transferring positions between them, you’ve probably run into a mix of workflows, terminology, and inconsistent speeds. I’ve gone through several types of transfers recently, including equities and T-Bills, and wanted to share what I learned along the way.

ACATS: Works, but Expect Delays (and Restrictions)

I first tried moving positions between IBKR and Schwab using ACATS (Automated Customer Account Transfer Service). It works in both directions, but the experience is noticeably slow. ACATS is built for simplicity since it abstracts away the settlement mechanics, but that abstraction introduces latency. Transfers typically take 3 to 6 business days, sometimes more.

One important caution: avoid initiating a full ACATS transfer out of Schwab unless you’re closing the account. Doing so can trigger account closure fees and other charges. Partial transfers work well and don’t carry that risk.

ACATS transfers can also come with post-settlement restrictions depending on the broker. IBKR, for example, applies a 30-day hold on assets received via incoming ACATS before they can be transferred out again. This isn’t always front and center in the documentation, but it’s worth factoring into your timing if you’re planning consecutive transfers.

On the plus side, ACATS has a built-in system for transferring cost basis data called CBRS (Cost Basis Reporting Service). It doesn’t always work perfectly, but it’s designed to pass along your lot details automatically. In my experience, CBRS updates can take up to a month to fully process, so patience is required.

DTC Transfers: Fast and Manual (For Stocks)

A couple of weeks ago, I decided to transfer equities again, but this time I used a DTC Free of Payment (FOP) transfer instead of ACATS. The difference in speed was dramatic.

IBKR makes this easy through its web interface. You can initiate a DTC transfer directly from the Client Portal.

Schwab requires a form submitted via fax (or secure message), which feels outdated. Still, they processed the request the same day once it was submitted correctly.

If you’re moving stocks or ETFs and want speed, DTC is the better option over ACATS, especially when you’re not transferring your entire account.

T-Bills Move Through Fedwire

When I attempted to transfer T-Bills from IBKR via DTC, the request was rejected. Treasury securities (T-Bills, Notes, Bonds) don’t move through DTC; they’re held and transferred via Fedwire, the Federal Reserve’s securities transfer system.

IBKR supports Fedwire transfers. To initiate one, you need to select the Basic FOP (Free of Payment) transfer option, which is more commonly used for international position transfers and can be a bit confusing at first. IBKR’s wording suggests Basic FOP is primarily for international workflows, but there are domestic cases, like Fedwire deliveries of Treasuries, where it applies. When setting it up, you can select region: US without issue. Part of the request goes through the Client Portal, the rest through a support ticket. The process worked well for me.

At Schwab, my initial experience with front-line support wasn’t very helpful, which isn’t surprising since Fedwire-based position transfers are outside typical retail workflows. I was later able to speak with Schwab’s Transfers department, who were knowledgeable and gave me more insight into how the firm handles these requests.

They explained that Schwab is self-clearing, and in standard Fedwire workflows, including transfers from IBKR or TreasuryDirect, no pre-notification or manual action is required as long as the receiving instructions are correct. That confirmed Schwab is fully set up for Treasury deliveries via Fedwire, even if not all reps are familiar with the details.

TreasuryDirect → Schwab: Passive Fedwire Reception Works

I’ve also seen reports from investors who successfully transferred T-Bills from TreasuryDirect to Schwab without pre-coordination. That lines up with what Schwab’s Transfers team told me. As long as the delivery instructions are correct, Schwab will receive the securities via Fedwire without needing to be notified in advance.

Managing Cost Basis After Transfers

One important point: if you transfer outside of ACATS, for example via DTC or Fedwire, cost basis does not transfer automatically. These methods are purely position transfers, so you’ll need to update your cost basis manually.

  • IBKR lets you edit your cost basis directly on their platform, including individual lot details.
  • Schwab requires a secure message with the request and supporting documentation, such as a PDF account statement showing your original cost basis.

It’s a small extra step, but important for keeping your tax records accurate.

If you’re optimizing for speed and fewer surprises, the rule of thumb is simple: use DTC for equities, Fedwire for Treasuries, and ACATS when you need cost basis to come along (and you can wait).