The parameters mirror the TeleportParams<string> type from @paraport/core — numeric values are strings and are converted to bigint internally.
| Field | Required | Default | Description |
|---|---|---|---|
address | ✅ | — | User account encoded as SS58 (ParaPort re-encodes per chain). |
chain | ✅ | — | Destination parachain (see Supported Chains). |
asset | ✅ | — | Asset symbol (see Supported Assets). |
amount | ✅ | — | Planck-denominated string; converted to bigint internally. |
getSigner | ✅ | — | Async function returning a PolkadotSigner. |
teleportMode | optional | expected | One of 'expected', 'exact', 'only'. |
endpoints | optional | — | Override RPC endpoints per chain; falls back to curated defaults. |
label | optional | — | UI button label. |
disabled | optional | — | Disables the UI button. |
appearance | optional | — | Per‑instance CSS variables (e.g., { '--radius': '12px' }). |
themeMode | optional | auto | `'light' |
displayMode | optional | 'integrated' | UI layout mode (currently only 'integrated'). |
ui.addFunds | optional | true | Show/hide the manual top-up CTA. |
logLevel | optional | 'INFO' | SDK log level: `'DEBUG' |
These apply only when using @paraport/sdk directly:
| Field | Required | Default | Description |
|---|---|---|---|
integratedTargetId | ✅ | — | DOM element ID where the SDK UI mounts. |
ParaPort defaults to the chains defined in SDKConfigManager.getDefaultConfig(). To narrow support, pass your own chains list when instantiating ParaPortSDK directly.
Every integration surface (Vanilla SDK, Vue, React) exposes the same lifecycle callbacks:
| Event | Signature | Description |
|---|---|---|
onReady | (session: TeleportSessionPayload) => void | UI is ready; first session payload is available. |
onSubmit | ({ autoteleport: boolean, completed: boolean }) => void | Button clicked; pre-execution signal. |
onCompleted | () => void | Teleport flow finished successfully. |
onAddFunds | () => void | User requested manual top-up. |