Cross-chain / Bridge·EVM · Solana · Tron · Sui · Stellar · Multi-chain
Allbridge
Cross-chain bridge with two products: Allbridge Classic (wrapped-asset bridge across EVM, Solana, Tron, Sui, Stellar, NEAR, and more) and Allbridge Core, a stableswap-based liquidity protocol that moves NATIVE stablecoins (USDC/USDT) between chains via per-chain pools linked through an internal vUSD unit of account.
- 01native stablecoin transfers (Allbridge Core)
- 02stableswap-style cross-chain liquidity pools
- 03EVM <-> Solana / Tron / Stellar / Sui transfers
- 04non-EVM chain coverage (Stellar, Tron, NEAR, Sui)
- 05LP yield on cross-chain stable pools
- pnpm add @allbridge/bridge-core-sdk
| Variable | Scope | Description |
|---|---|---|
| ALLBRIDGE_CORE_API_URL | Client | Optional override for the Allbridge Core REST API base URL (defaults to `https://core.api.allbridgecoreapi.net`). Pin in production for stability. |
Use `@allbridge/bridge-core-sdk`: instantiate `new AllbridgeCoreSdk(nodeRpcUrls)`, fetch supported chains via `sdk.chainDetailsMap()`, then quote with `sdk.getAmountToBeReceived({ amountToSend, sourceToken, destinationToken })` (returns destination amount after pool slippage + bridge fee) and `sdk.getGasFeeOptions({ sourceChainToken, destinationChainToken, messenger })` for the relayer-payment options (native, stablecoin, or third-party). Build the on-chain tx via `sdk.bridge.rawTxBuilder.send({ amount, fromAccountAddress, toAccountAddress, sourceToken, destinationToken, messenger, gasFeePaymentMethod })` and submit it with the user's wallet. Poll `sdk.getTransferStatusBySendTxHash(chainSymbol, txHash)` until `receive.status === 'Confirmed'`. For Classic (wrapped-asset) bridge use the separate REST API at https://allbridgeapi.net.
- ⚑Two distinct products: Classic (wrapped tokens) vs Core (native stablecoin pools). The SDK above is Core only — Classic requires a different SDK/API and the assets ARE NOT interchangeable.
- ⚑Core swaps go through per-chain liquidity pools; large transfers eat pool depth and quote slippage spikes. Always show `getAmountToBeReceived` to the user, never assume 1:1.
- ⚑`messenger` choice (Allbridge messenger, Wormhole, CCTP) materially changes fee, latency, and supported pairs — pick deliberately, not by default.
- ⚑Gas-fee payment method matters: paying in source-native is simplest, paying in stablecoins reduces UX friction but is only available on some routes — handle the unsupported case.
- ⚑Non-EVM origins (Solana, Tron, Stellar, Sui) each have their own raw tx format — `rawTxBuilder.send` returns the chain-native transaction, not a generic EVM `TransactionRequest`; route to the right wallet adapter.
- ⚑Pools can be paused for rebalancing; `getAmountToBeReceived` will throw or return null — handle and fall back to an aggregator.