Sai Teller: A Simpler Way to Move USDC and Deposit or Withdraw from Anywhere
Funding Sai should feel like depositing on an exchange. Notes on Sai Teller, CCTP, and the Base hub while the work is in progress.
I can recall someone who wanted to get started on Sai and found the onboarding process too troublesome after moving their funds. There were already too many steps before they could get to the thing they came for, trading.
That’s the problem we’re trying to address with Sai Teller. If someone has USDC on a supported chain, we want them to be able to fund Sai through that chain and withdraw to a supported destination later.
The model is familiar from centralized exchanges. You choose a network for the deposit or withdrawal, then manage your balance in the exchange. We’re working toward that kind of funding experience on Sai, with trading on Nibiru.
Bring the transfer into the funding flow
When someone has to use a separate bridge before trying Sai, they have another process to figure out. They have to move the funds, follow that transfer, and then return to the exchange to finish getting started.
Teller brings the cross-chain transfer into Sai’s funding flow. The funds still move between chains, but the user won’t have to manage a separate bridge app first.
This also helps us address wallet compatibility. A wallet might work with Ethereum without supporting transactions on Nibiru. Teller can handle the funding connection through a supported source chain, and one-click trading already removes the need for that wallet to submit every trade on Nibiru.
We want people to spend less time figuring out how to reach Sai and more time using it. That is the reason for treating funding and trading as connected parts of the same experience.
How the chains connect
Teller uses a hub-and-spoke model. Base is the hub. Other supported chains connect through it, and the hub connects to Sai’s L1, Nibiru.
For the supported spoke-to-hub transfers, we’re using Circle’s Cross-Chain Transfer Protocol, or CCTP. It moves USDC by burning it on the source chain and minting it on the destination chain. Using Circle’s own transfer mechanism for this part of the route reduces our reliance on separate bridge systems.
USDC on Nibiru is backed by USDC held in the Base hub. Teller handles that connection between Base and Nibiru. The distinction matters when we’re explaining which part CCTP does and which part we’re building.

Trade now or hold USDC on Nibiru
A deposit through Teller can go one of two ways. In Trade mode, the funds go straight into your Sai balance, ready to trade. In Bridge mode, they arrive as USDC on Nibiru in your own wallet, where you can provide liquidity, transfer them, or deposit into Sai later.
Most traders will want Trade mode, because it skips the extra deposit step. Bridge mode is there for people who want USDC on Nibiru for something else.
Cross-chain transfers take time to settle. In the contract design, Sai can let you trade with a Trade-mode deposit before that settlement finishes, once the deposit has been verified on the source chain. Withdrawing that amount waits until settlement completes. The Sai Teller guide walks through how that accounting works for anyone who wants the details.
Why Base, and why this connection
We needed a hub with native USDC, CCTP support, and practical operating costs. Base fit that role. Our design notes also considered its USDC liquidity and the ability to test the route on Base Sepolia before using production funds.
The important architectural choice was to concentrate the Nibiru connection in one place. Supported spoke chains can reach Base through CCTP. That leaves one hub-to-Nibiru connection for us to operate, rather than a separate custom bridge connection for every source chain.
The design went through another change along the way. Earlier notes proposed a separate general-purpose bridge for the Base-to-Nibiru leg. The later Teller design brings that connection into the infrastructure we operate ourselves.
That gives us direct responsibility for monitoring the route, investigating problems, and maintaining the connection. Reducing dependencies on a separate bridge operator was an important part of the choice. We can work on this alongside the exchange and our Nibiru infrastructure.
See where your funding stands
There’s a second part to the onboarding problem: knowing what’s happening to your funds while they’re moving.
The transaction in your wallet is one step. The funds reaching Sai and becoming available to use is another. We want to keep those steps connected so the person depositing can follow the operation rather than guess whether it worked.
That observability is useful to us while building too. A record of the source transaction, the intermediate work, and the destination result gives us a way to inspect a transfer that is taking longer than expected.
We’re working toward clearer feedback for deposits and withdrawals. The question is how to make a process involving several systems understandable in one funding experience.
Where Teller fits in the rest of the work
The strongest feedback we hear from Sai traders is about speed and responsiveness. Funding is part of that experience, especially for someone who hasn’t tried the exchange yet.
We’ve worked on caching for load times. One-click trading is now live and removes the wallet popup from every trade. Teller addresses the funding journey and gives us more visibility into the transfers behind it. It’s still in development, and we’ll post again when deposits and withdrawals through Teller are available in the app.
The work spans several systems, but the user’s expectation is straightforward. They want to get funds into Sai, know when they can use them, and withdraw through a supported chain. That’s the experience we’re using to guide the decisions as we build.