> ## Documentation Index
> Fetch the complete documentation index at: https://docs.etherfuse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Solana

> Asset identifiers, gas handling, and swap support on Solana.

![Solana](https://mintcdn.com/etherfuse/XRSchVFGUgreQatD/img/chains/solana.svg?fit=max\&auto=format\&n=XRSchVFGUgreQatD\&q=85\&s=6018dc319aab06dfc6ee3da2de48c522)

Solana is fully supported for onramps, offramps, and swaps. Of the supported networks it has the lightest per-transaction setup — there are no trustlines, and the network fees are negligible. The end-to-end flows live in the [Onramps](https://docs.etherfuse.com/guides/testing-onramps.md), [Offramps](https://docs.etherfuse.com/guides/testing-offramps.md), and [Swaps](https://docs.etherfuse.com/guides/testing-swaps.md) guides.

## Supported operations

| Operation | Supported |
| - | - |
| Onramp (fiat → token) | ✓ |
| Offramp (token → fiat) | ✓ |
| Swap (token → token) | ✓ |

## Asset identifiers

Solana assets use the **Base58 mint address** — e.g. `AvvetPGuuB5FD5m86fpw3LtDKyQoUFT1mG9WarNQLW4q`.

> [!TIP]
>
> Read the mint from [`GET /ramp/assets?blockchain=solana`](https://docs.etherfuse.com/api-reference/assets/list-assets) (or the public [`GET /lookup/stablebonds`](https://docs.etherfuse.com/api-reference/lookup/list-stablebonds)) rather than hardcoding it — mints differ between sandbox and production.

## Stablebond addresses

Live mint accounts for every stablebond on Solana, each linked to Solscan:

## Wallet & gas

There's no trustline or account-reserve step on Solana, and associated token accounts are created as part of the transaction Etherfuse builds. Network fees are a tiny fraction of a cent, so there's no per-wallet funding requirement to plan for.

## Swaps: read the webhook payload, not the status sequence

Swap progress is delivered over the `swap_updated` webhook. **Which intermediate statuses fire varies by chain** — for example, Solana may not emit a distinct `funds_received` update the way some other chains do. Drive your logic off the **fields in the payload**, not off assuming a specific status will arrive:

* `sendTransaction` is present while you still need to send funds; once the funds are received it's dropped from the payload.
* On completion you get `sendTransactionHash` (your send) and `receiveTransactionHash` (Etherfuse's delivery to you).

See [Swaps](https://docs.etherfuse.com/guides/testing-swaps.md) and [Webhooks](https://docs.etherfuse.com/webhooks.md) for the full payload semantics.

## Related

> [card] [Onramps](https://docs.etherfuse.com/guides/testing-onramps.md)

> [card] [Offramps](https://docs.etherfuse.com/guides/testing-offramps.md)

> [card] [Swaps](https://docs.etherfuse.com/guides/testing-swaps.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.