https://github.com/skalenetwork/portal
Web-based interface for transferring assets and data between SKALE Chains and Ethereum Mainnet, managing SKL staking, and accessing essential developer resources such as chain IDs, RPC endpoints, and explorer links.
https://github.com/skalenetwork/portal
ethersjs react skale skale-network typescript
Last synced: 5 months ago
JSON representation
Web-based interface for transferring assets and data between SKALE Chains and Ethereum Mainnet, managing SKL staking, and accessing essential developer resources such as chain IDs, RPC endpoints, and explorer links.
- Host: GitHub
- URL: https://github.com/skalenetwork/portal
- Owner: skalenetwork
- License: lgpl-3.0
- Created: 2022-12-28T19:31:23.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2026-02-04T19:06:56.000Z (6 months ago)
- Last Synced: 2026-02-05T00:51:27.826Z (6 months ago)
- Topics: ethersjs, react, skale, skale-network, typescript
- Language: TypeScript
- Homepage: https://portal.skale.space
- Size: 24.2 MB
- Stars: 11
- Watchers: 4
- Forks: 7
- Open Issues: 44
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# SKALE Portal
[](https://discord.gg/vvUtWJB)
The SKALE Portal is a web-based interface that allows users to interact with the SKALE IMA contracts. SKALE Portal provides a user-friendly way for users to transfer assets and data between different SKALE chains and Ethereum Mainnet, enabling greater flexibility and scalability for decentralized applications.
## How It Works
The SKALE Interchain Bridge UI is built on top of the [SKALE IMA contracts](https://github.com/skalenetwork/IMA) and uses [Metaport](https://github.com/skalenetwork/metaport). The IMA contracts enable the SKALE Chains to communicate between each onther and Ethereum Mainnet.
The Interchain Bridge UI consists of a user interface that allows users to initiate and track transfers of assets and data between different blockchain networks. Users can connect their wallets to the Interchain Bridge UI and select the source and destination blockchains for their transfers.
## Bridge link integration
It's possible to embed Bridge link with fallback into your dApp.
#### Directing users to the particular pair of chains
```
http://[BASE_PORTAL_URL]/bridge/?from=[FROM_CHAIN_NAME]&to=[TO_CHAIN_NAME]&token=[TOKEN_SYMBOL]&type=[TOKEN_TYPE]&from-app=[FROM_APP_NAME]&to-app=[TO_APP_NAME]
```
Example:
```
https://[BASE_PORTAL_URL]/bridge/?from=elated-tan-skat&to=green-giddy-denebola&token=usdc&type=erc20&from-app=sushiswap&to-app=bit-hotel
```
#### Customizing transfer parameters
You can customize the link with the following parameters:
Required params:
* `from` - from chain name
* `to` - to chain name
Optional params:
* `token` - symbol of the token to transfer
* `type` - token type (only `erc20` and `eth` are supported for now)
* `from-app` - when transfering from a Hub chain, it's possible to specify the name of the app to transfer from
* `to-app` - when transfering to a Hub chain, it's possible to specify the name of the app to transfer to
Will be available in the future:
* `fallback-url` - URL with fallback link to redirect user after the transfer is completed (should be encoded)
* `fallback-text` - Text to display on the fallback button (should be encoded)
In JS you can use the following function to encode the URL:
```js
function encodeUrl(url) {
return encodeURIComponent('https://www.example.com/some/path')
}
```
## Dev
```bash
git clone --recurse-submodules https://github.com/skalenetwork/portal.git
cd portal
bun install
VITE_WC_PROJECT_ID=YOUR_ID bun run dev
```
This compiles local workspaces (`core`, `metaport`) then starts Vite.
## Build
Mainnet bundle (default):
```bash
bun run build
```
Testnet bundle:
```bash
bun run build:testnet
```
Individual packages:
```bash
bun run build:packages
```
## Security and Liability
The SKALE Portal and code is WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
## License

All contributions are made under the [GNU Lesser General Public License v3](https://www.gnu.org/licenses/lgpl-3.0.en.html). See [LICENSE](LICENSE).