# Multichain Supported

## Supported Chains <a href="#supported-chains" id="supported-chains"></a>

This is a list of chains that we're currently supports. You can find the `chain` from @ramer-v2/core

<table><thead><tr><th>Chain Name</th><th width="254">Chain ID</th><th>Network</th></tr></thead><tbody><tr><td>Viction</td><td>88</td><td>Mainnet</td></tr><tr><td>Polygon</td><td>137</td><td>Mainnet</td></tr><tr><td>Binance Smart Chain</td><td>90</td><td>Mainnet</td></tr><tr><td>Chiliz</td><td>88888</td><td>Mainnet</td></tr><tr><td>ZkSync Era</td><td>324</td><td>Mainnet</td></tr><tr><td>Ethereum</td><td>1</td><td>Mainnet</td></tr><tr><td>Orange</td><td>61022</td><td>Mainnet</td></tr><tr><td>Viction Testnet</td><td>89</td><td>Testnet</td></tr><tr><td>Orange Testnet</td><td>61022</td><td>Testnet</td></tr></tbody></table>

## Initialization <a href="#initialization" id="initialization"></a>

For simple initialization, you need to have an `appId` for creating an app in Ramper, please visit this [link](https://developer.v2.ramper.xyz/) to create a new app. Then you can use the following code:

```jsx
import {
  init
} from "@ramper-v2/multi";
 
 
...
 
const handleInit = async () => {
  await init({
    appId: "your-app-id",
  });
};
 
```

### Notes <a href="#notes" id="notes"></a>

You can also use some custom parameters to initialize Ramper. Please note that those optional parameters are only applied if config from your app is not provided.

Here are some parameters you can use:

<table><thead><tr><th>Parameter</th><th width="412">Type</th><th>Description</th></tr></thead><tbody><tr><td>config</td><td><code>Record&#x3C;string, string></code></td><td>This one will be provided by the Ramper team</td></tr><tr><td>theme</td><td><code>dark</code> or <code>light</code></td><td>This will change theme for wallet UI</td></tr><tr><td>coinInfo</td><td>CoinInfo</td><td>The list of coins to display and calulation</td></tr><tr><td>language</td><td><code>en</code> or <code>kr</code></td><td>Select supported language</td></tr><tr><td>walletTabs</td><td>string</td><td>Select initial wallet tab</td></tr><tr><td>partner</td><td>string</td><td>Select partner default is <code>ramper</code></td></tr><tr><td>logoURI</td><td>string</td><td>Logo URI for display through the wallet</td></tr></tbody></table>

### User sign-up & sign-in

```jsx
import { signInWithProvider, signIn } from '@ramper-v2/multi'
 
const signInResult = await signInWithProvider({ provider });
 
const signInResult = await signIn();
```

There are two ways to sign in a user. The first way is to use the `signInWithProvider` function, which takes a provider as an argument. The provider can be one of the following: `google`, `facebook`, or `email`. The second way is to use the `signIn` function, which will show a modal with all the available providers.

### Get the current signed in user

```jsx
import { getUser } from '@ramper-v2/multi'
 
const user = await getUser()
 
if (user) {
  console.log(user)
}
```

### Logging Out <a href="#logging-out" id="logging-out"></a>

Users can log out or disconnect their wallet with:

```jsx
import { signOut } from '@ramper-v2/multi'
 
await signOut()
```

Yup, it really is just that easy!

If there's any feature you would like to see or design patterns you would like for the Ramper team to adopt.

### Disclaimer <a href="#disclaimer" id="disclaimer"></a>

Our current SDK is in active development. The interface described above and the functionalities provided are subject to change.
