Cross-Broker Transfers: IBKR, Schwab, DTC, ACATS, and Fedwire Explained
- ibkr schwab dtc acats fedwire treasuries cost basis brokerage transfers
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. Understanding the infrastructure behind each type of asset transfer makes a big difference in efficiency and avoiding unnecessary fees.
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 via ACATS typically take 3 to 6 business days, sometimes more.
One important caution: avoid initiating full ACATS transfers 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.
Also worth noting, ACATS transfers can come with post-settlement restrictions, depending on the broker. For example, IBKR 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 important to factor into your timing if you’re planning consecutive transfers.
On the plus side, ACATS does have a built-in system for transferring cost basis data, called CBRS (Cost Basis Reporting Service). While it doesn’t always work perfectly, 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 extremely 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 a bit outdated. However, they processed the request 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? Not DTC — Use Fedwire Instead
This is where it gets interesting. I attempted to transfer T-Bills from IBKR via DTC, and the request was rejected.
That’s when I learned something important.
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.
Once I understood that, the next steps became clearer.
IBKR supports Fedwire transfers. To initiate one, you need to select the Basic FOP (Free of Payment) transfer option. This is more commonly used for international position transfers, which can be a bit confusing at first. IBKR’s wording does suggest Basic FOP is primarily for international workflows, but there are certain domestic cases, like Fedwire deliveries of Treasuries, where this option applies perfectly. When setting it up, you can confidently select region: US without issue. Part of the request is submitted through the Client Portal, and the rest is handled via support ticket. The process was efficient and well-supported.
At Schwab, my initial experience with front-line support wasn’t very helpful. This isn’t unusual, given that Fedwire-based position transfers are outside typical retail workflows. However, I was later able to speak with members of Schwab’s Transfers department, who were very knowledgeable and provided additional 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 clarified a lot and 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
On a related note, I’ve seen multiple reports from investors who successfully transferred T-Bills from TreasuryDirect to Schwab without any pre-coordination. This 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 or contacted in advance.
Managing Cost Basis After Transfers
A quick but 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 allows you to edit your cost basis directly on their platform, including individual lot details.
- Schwab requires you to send a secure message with the request and provide supporting documentation, such as a PDF account statement showing your original cost basis.
It’s a small extra step, but crucial for keeping your tax records accurate.
TL;DR
If you’re transferring assets between brokers like IBKR and Schwab:
- Stocks & ETFs: Use DTC for speed. Easier and faster than ACATS.
- Treasuries (T-Bills, Notes, Bonds): Must go through Fedwire, not DTC. IBKR handles this well using Basic FOP (even though it’s usually described for international transfers, selecting region: US works fine). Schwab receives these transfers automatically if instructions are accurate.
- ACATS: Works but is slower due to abstracted settlement. Avoid full Schwab outbound transfers unless you’re closing the account. Brokers like IBKR may impose post-transfer restrictions, such as a 30-day hold on incoming ACATS positions. The upside: ACATS does attempt to transfer cost basis via CBRS, although it can take up to a month and isn’t always perfect.
- DTC and Fedwire transfers: Require manual cost basis updates. IBKR supports this directly in the platform. Schwab requires a secure message and proof of the original basis.
Understanding these underlying systems — DTC, ACATS, and Fedwire — gives you more control and can save you time, confusion, and unnecessary fees when managing cross-broker transfers.
Let me know if you’ve had similar experiences, especially with other brokers or transfer types. Always interested in comparing notes.