This guide is split into four parts. The first three are for users arriving from the Ethereum ecosystem, covering how to obtain a Stellar-native wallet and move tokens across. Existing Stellar users can go straight to part four.
→ 1. Obtaining a Stellar-native wallet
→ 2. Bridging from EVM to Stellar
→ 3. Obtaining USDC on Stellar
→ 4. Accessing Spectra on Stellar and placing a first PT and YT order
ℹ️ This guide links to wallets, bridges and exchanges operated by third parties across the Stellar ecosystem. Spectra doesn't control those interfaces or their terms, so worth checking what's on screen before confirming anything there. Nothing here is financial advice, and every transaction is the reader's own decision.
Completion time: approximately 5 minutes.
Freighter is a widely used wallet for the Stellar network. This guide is based on its browser extension throughout.
Official website: https://freighter.app

After installing the extension, the following screen is displayed.

Select [Create new wallet] to continue.

This password unlocks the wallet on this browser. Store it somewhere safe.
Read the warnings, then select [Show recovery phrase].


Save the phrase offline, on paper. It grants full access to the wallet and its funds, and it is the only way to restore the account in another browser. Nobody from Stellar, Freighter or Spectra will ever ask for it.

Re-enter the words in the order they were displayed in the previous step. The [Skip] option is available here, though confirming is what verifies the phrase was recorded correctly.

In the top right corner of the browser window, select the puzzle icon to find Freighter in the extensions dropdown. Pin it for easier access.


The account now exists on the Stellar network and is ready to be funded.
This part covers moving funds from any popular Ethereum-based network to Stellar. We will use Allbridge.
Access via: https://allbridge.io
On the Allbridge homepage, select [Swap Native].

This opens the page called Gas, where a popular asset such as ETH, USDC or EURC can be sent into XLM, the native token of Stellar.
Connect an EVM wallet such as MetaMask or Rabby.

Enter the amount to bridge. We will go with $5, which covers the account reserve and leaves enough to work with in the sections below.

Return to the Freighter wallet and copy the Stellar address from the dropdown.

Paste the address into the output field on the Allbridge Gas interface.

Select [Create transaction] to reach the summary step.

Confirm the input and output addresses, then select [Send]. The EVM wallet prompts for confirmation.

Once confirmed, a progress bar tracks the bridge, which takes around three minutes.

This is the final message shown on that page once the transfer completes.

Back in the wallet window, the bridged funds are visible.

For this step we will use Aquarius, a popular DEX on the Stellar network.
Access via: https://aqua.network/swap/

Select [Connect Wallet] to open the wallet selector.

Choose the Stellar Wallets option, then pick Freighter from the list.

Freighter prompts for a connection confirmation.

Once connected, the swap is ready to be set up.

Select USDC in the output token selector, then select [Add USDC Trustline].
A Stellar trustline is an explicit, account-level opt-in on the Stellar network. It allows a wallet to hold, receive and trade a specific non-native asset, such as USDC or custom tokens, from a designated issuer. Except for the native token XLM, a trustline is required before any wallet can accept an asset.
Adding a trustline is confirmed in Freighter the same way as any other Stellar transaction.
Once confirmed, enter an amount into the XLM input field to see the expected USDC output.

Review the summary window and select [Confirm Swap].

Aquarius returns the following messages once the swap confirms onchain.

The newly acquired USDC is visible in the Freighter extension.

Access the Spectra deployment on Stellar via: https://app.spectra.finance/stellar
This opens the list of fixed-term markets on Spectra, denominated in USDC and EURC, among others.
We will begin with Fixed Rates, the first entry under Products. Select the USDC market maturing Nov 01 2026 to open it.
Before we start clicking, a minute on what Spectra does.
Assets that generate yield do so at a rate that moves. Take the market we will use for this walkthrough: USDC supplied to Blend, a lending platform on Stellar. Its rate ranged from 6% to 8.6% over the past 90 days, fluctuating with utilization. Holding the asset means accepting whatever the rate is on any given day.

Source: https://defillama.com/yields/pool/ecf788e3-d2ef-4fdd-9ece-8a2d96226ddf?range=90d
Spectra turns that moving rate into something with a price. Each market has a maturity date and two instruments trading against it.
→ Principal Tokens (PT) carry the claim on the asset, redeemable one for one at maturity. Buying one below its redemption value fixes the outcome over a known period, whatever the underlying rate does afterwards.
→ Yield Tokens (YT) carry the variable yield accruing until that same date. Buying one takes the opposite side, gaining when the asset yields more than the market expected.
Two views of the same market, two sides of the same trade. One participant wants certainty on the rate, another wants exposure to where it goes, and the market prices the difference between them.
This is what the Spectra deployment brings to Stellar. Assets already generating yield on the network gain a market where that yield has a price and two sides anyone can take.
Today, every Spectra market on Stellar trades through an order book. Orders rest at the rate their owner set, and they fill when someone takes the other side. A swap purchase fills against those resting orders directly.
So there are two ways in.
→ Take the rate available on the book right now, in one transaction via the Swap option. That is what the next section covers.
→ Set our own rate and leave the order resting until someone meets it via the Limit option. That is the Pro Way, further down.
We start on the Fixed Rate (PT) menu tab, with [Buy] and [Swap] selected in the trading panel. This is the default view when any market opens.

The market header carries the fixed parameters: the maturity date, the token the market is quoted in, and the rate currently available on the book.
Type the amount to spend into the "You pay" field. We will go with a 1 USDC sample.

The interface prices the order against the book and shows what we receive: 1.015533 PT-USDC. The lines below explain how it got there.
Fills: 1 order. The purchase is covered by a single order resting on the book.
Avg fill rate: 7.20% APY. The rate we lock in.
You spend: ≈ 0.998451 USDC. The amount actually debited for this fill.
From book: 100%. The entire fill came from orders resting on the book.
One notice sits above the button: paying with USDC wraps it into sw-USDC and fills in a single transaction. Spectra markets are built on interest-bearing tokens, and this one uses the wrapped USDC. Supplying plain USDC handles the wrapping inside the same transaction, so there is one signature to approve.

Select [Fill from book].
That is it. We hold our first Principal Token, and the position is visible under [My Positions] in the bottom right panel.
In our example, at maturity on Nov 01 2026, each Principal Token is exchanged for 1 USDC, so our 1.015533 PT-USDC becomes 1.015533 USDC. Over the time left until that date, this works out to an annualized fixed rate of 7.20%. The rate is set the moment the transaction confirms and holds all the way to maturity, regardless of what the underlying Blend rate does in the meantime.
The panel on the right is the order book. Every row is an order someone left waiting, with the rate on the left and the size on the right. The number in the middle, 7.20%, is where the market currently sits. The upper half holds the orders available to buy into, and the row closest to that middle number carries the best rate, which is why our order filled at 7.20%.
Holding to maturity is the simple path, and nothing else is required to reach the fixed outcome. Before that date the Principal Token stays tradable. It can be sold back into the book at the prevailing rate at any point, or offered at a rate we choose using the [Limit] tool covered in the next section.
The [Swap] and [Limit] switch sits above every trading panel on Spectra Stellar. Swap takes the rate currently available on the book. Limit lets us set our own rate and wait for someone to meet it.
Both modes work everywhere: Principal Tokens and Yield Tokens, buying and selling. Four combinations, one panel.
For this walkthrough we will set our rate on Yield Tokens, which gives us a chance to cover the other instrument at the same time. Everything shown here works identically on the Fixed Rate (PT) tab.
Yield Tokens carry the other half of the market. A Principal Token fixes the outcome. A Yield Token holds exposure to the variable yield of the asset until maturity, so it gains when the underlying rate runs above what the market priced in.
Switch to the Yield Leverage (YT) tab, then select [Limit] on the upper right of the trading panel.

Notice the order book flips. It is the same set of orders seen from the other side, and the sizes match across both views. The direction of value reverses too: for Yield Tokens, a lower implied APY makes the YT cheaper.
One unit of the interest-bearing token stands behind one Principal Token and one Yield Token, which is why the two books hold the same orders at the same sizes. An order to buy PT is the same order as an offer to sell YT. The interface handles this in the background, so there is nothing to do here beyond switching tabs.
The tab is called Yield Leverage because a Yield Token gives multiplied exposure to a rate for a fraction of the cost of holding the asset. A small amount of USDC buys many YT, and that position collects the variable yield of the same number of underlying units until maturity. Nothing is borrowed and there is nothing to liquidate. The full amount committed is at risk if the rate settles below what the market priced in, since the Yield Token expires worthless at maturity once its yield has been paid out.
The panel carries three inputs.
Input. The amount of USDC we commit to the order. We will go with 1 USDC.
Buy YT at Implied APY. The rate we set ourselves. The implied APY could be understood as “what the market thinks the actual rate of the yield-generating asset should be”. A Yield Token gets cheaper as the implied APY goes down, so a buyer sets a number below the current market rate. We will go with 6%, and the interface confirms it improves on the market at 7.20%.
Expires in. How long the order stays live. We will set it for 1 week. The dropdown runs from minutes and hours through days and weeks, all the way to Until Maturity.

Output (est.) shows what we receive if the order fills in full. At 6%, our 1 USDC would buy 77.899397 YT-USDC.
The two fields move together. Lowering the implied APY raises the output, because a cheaper Yield Token means the same 1 USDC buys more of them. Setting 5% instead of 6% would show a larger number in the output field, and 3% larger still.
That is the number we receive if someone accepts our terms.
This is the balance the [Limit] tool works on. A rate closer to the market fills sooner. A rate further from it yields a better outcome and a lower chance that somebody meets it before the order expires. Our 6% sits close to the 6.66% row already resting on the book, so the order has a genuine chance of filling within its week.
A resting order carries no price impact and no negative slippage at any size. It fills at the rate set, or it waits. This holds for an order of any size, which is what makes the tool useful well beyond the amounts in this guide.
Select [Place Order].
A confirmation window opens showing the two steps involved: Approve, then Place order. The progress marker sits on the first one, and Freighter prompts for confirmation.

Approval grants the market access to the USDC we committed. The window advances to the second step and prompts again, this time to place the order itself.
Once both are confirmed, our order sits on the book at 6.00%, visible to everyone else in the market, waiting for someone to take the other side.

Our order was placed in the lower half of the book. The upper half holds orders available to buy into, the lower half holds orders available to sell into, and a resting buy order waits there for a seller to meet it.
The [My Orders] tab lists anything live. Active Orders carries the type, side, committed amount, implied APY, fill progress, status, and countdown to expiry. The [Cancel] action at the end of the row pulls the order off the book and frees the committed amount. Anything already filled, canceled, or expired moves to Past Orders.
We covered the full path from an empty browser to a resting order on the book.
→ A Stellar-native wallet, funded through a bridge from any EVM network
→ USDC obtained onchain and a trustline opened
→ A Principal Token bought at the rate available on the book, in one transaction
→ A Yield Token ordered at a rate we set ourselves
Two instruments, two ways in. Everything else on Spectra is a variation on what we just did.
The same market list holds USDC and EURC markets with different maturities, and more assets follow as the deployment grows. The [Buy] and [Sell] toggle works the same way in every direction, so a position can be exited the way it was entered. The [Limit] switch is available on both instruments and on both sides.
For anyone already holding a yield-bearing asset, the [Tokenize] button in the market header opens the manual path into both instruments at once.
Two things worth carrying forward.
A fixed rate is fixed at entry. Buying a Principal Token sets the outcome at maturity, regardless of what the underlying rate does afterward. Selling before that date happens at whatever the market pays at that time.
A resting order carries no price impact at any size. It fills at the rate set, or it waits. That holds for the amounts in this guide and for anything larger.
→ The Stellar markets: https://app.spectra.finance/fixed-rate?network=stellar
→ Follow Spectra: https://twitter.com/spectra_finance
→ Questions: https://discord.com/invite/spectrafinance

