Mavna

Send USDC to Stellar

Every control on the Send to Stellar card, each wallet prompt, and what the card tells you while the transfer moves.

This page walks through the Send to Stellar card in the Mavna app from top to bottom. For the short version, see Get started.

Fill in the form

Send is the chain your USDC is on. Press the chain name to open the list, or type in Search chains to filter it. Chains you can sign from in your browser come first. Chains listed under Quoted, not signable here yet show routes, and sending from them needs a wallet for that chain's family, which the app does not connect.

The amount is how much USDC you send. Routes update as you type. Once your wallet is connected to the chain you picked, the card shows your balance and a Max button that fills in all of it.

Receive on Stellar is the asset you end up holding: USDC, or XLM through a conversion on Stellar. Receive XLM instead covers the second choice. Under the amount you receive, Exact means that amount arrives in full; Min shows the least that arrives.

Recipient is the Stellar address the money goes to. Paste it and press Use this address. It takes three kinds of address:

  • An account address starts with G and is 56 characters long.
  • A muxed address starts with M and is 69 characters long. It is an account address with an id added. The money arrives in the account it is built on, labelled with that id. Anything your Stellar wallet approves for it, you approve with that account. A muxed address receives the asset the rail delivers: a conversion on Stellar would pay the account without the id, so a route that converts is declined for it, with the reason.
  • A contract address starts with C and is 56 characters long. The money arrives in the contract's own balance. The contract has to exist on the network you send on, and a token's own contract is refused, because nothing sent to it can be moved again. A contract cannot approve anything in a Stellar wallet, so a route that needs the recipient's approval on Stellar is declined for a contract, with the reason.

These are refused on the spot, before any rail is asked:

  • An address whose checksum does not match, such as one with a typo or copied only in part: "That is not a Stellar address. Check that it was copied in full."
  • A secret key: "That is a secret key, not an address. Keep it private, and enter the address that should receive this instead."
  • A Stellar address nothing can be paid to, such as a liquidity pool's: "A liquidity-pool address cannot receive a payment."
  • Anything else: "A Stellar address starts with G or C and is 56 characters, or starts with M and is 69."

Each rail delivers to the kinds of address it supports, and a rail that does not support yours appears as Declined with the reason.

Route priority ranks the routes by Best return (the most arriving on Stellar) or Fastest (the shortest time to arrival).

Rails turns individual rails on and off for this transfer. At least one rail stays on.

You will approve counts the wallet prompts the selected route asks for. Up to in front of the number means some of them are skipped when they are not needed, such as an approval your wallet already gave.

Compare the routes

The rails are asked once the form has both an amount and a recipient. Until then, the routes panel reads Awaiting an amount or Awaiting a recipient.

Each rail answers on its own, and each answer appears under Receive as it lands. A route shows the amount that arrives, the rail, who you trust to deliver it, the transfer fee, the estimated time, and the number of prompts. The best-returning route carries a Best return badge, and a faster route, when there is one, carries Fastest. Open a route to see every line, including the minimum you receive and, for a new address, the account reserve.

A rail that cannot carry your transfer appears as Declined with a sentence that says why. When asking again can change the answer, the decline offers Try again. To hide declined rails, turn off Show rails that declined under Settings.

Send it

  1. Press Connect a wallet and choose your wallet from the list. The button then reads Review transfer.
  2. Press Review transfer. The summary shows what you send and receive, the recipient, the rail, the transfer fee, the minimum you receive, the number of approvals and the estimated time. The amount you send is shown with every decimal it has, exactly as your wallet is asked to sign it. The minimum is cut at seven decimals, never rounded up.
  3. Press Start transfer.

Your wallet then asks you to approve each step, and the card names each one as it runs:

  1. Allow Circle to move your USDC. This approves exactly the amount you send, once. The app skips this prompt when your wallet has already approved at least that amount.
  2. Send from the chain you picked. This is the transaction that moves the money.

Before the first prompt, the app checks that your wallet holds enough USDC and stops with the amounts if it does not. If your wallet is on a different network, it asks you to switch first.

If you decline any prompt, the card says exactly what happened, for example "You did not confirm the transfer, so nothing was sent." Sending to an address that does not exist yet adds Stellar prompts, described in Send to a new Stellar address.

While it moves

The card lists the steps of the transfer and marks each one as it finishes. The send from your chain and the delivery on Stellar link to their transactions on a block explorer once they land.

Circle attests the transfer waits for your chain to finalise, and the card says how long for the chain you sent from: about a minute from Arc or Avalanche, about 20 minutes from Ethereum, Base or Arbitrum, about 4 hours from Starknet, about 32 hours from Linea. During that step the card first says Keep this page open until the sponsor has the transfer. Once the sponsor confirms it is watching the transfer, the note changes to Safe to close this page: the sponsor delivers it when Circle attests. From then on the sponsor delivers it without the page, for up to two days.

In some cases closing the page pauses the transfer instead, and the card says so. You then finish it later from Activity, as described in Finish a delivery.

When it arrives

The card shows Arrived on Stellar with the amount, and the funds are in the recipient's account. Took says how long the transfer took from Start transfer to arrival. Press Send another to start a new transfer.

A transfer that stopped on a failed step reads Did not arrive on Stellar, and the failed step says what happened.

The app remembers the transfer in this browser under Activity. You can also find it from any browser with the transaction you sent: see Find a transfer.

On this page