arrow-left

All pages
gitbookPowered by GitBook
1 of 3

Loading...

Loading...

Loading...

Customize - Widget Editor

Customize the earn section to reflect your brand's look and feel. The Kiln Widget Editor allows you to apply your unique brand elements, ensuring a cohesive user experience.

hashtag
Access editor

Access kiln widget editor directly from your browser : widget.kiln.fiarrow-up-right.

hashtag
Customize look and feel

On the left side panel you are able to edit the look and feel of you widget and you can preview some of kiln flagship products will look in the UI.

  • At the top of the side bar you have some preset to start from existing usecases.

  • Accent: Edit the accent to your brand main color and see it updated accross the widget.

  • Logo: By default kiln logo, remove the url to display no logo.

circle-exclamation

Please note that the configuration you created is not cached so if you leave the page, it will reset to default.

hashtag
Export your branding

On the top left, next to kiln logo you will see a little button link icon. Click on it to copy a "branded link" to your clipboard, anyone with this link you will access the same configuration you just created. You can use this as a way to save your configuration.

You can also copy directly the widget configuration json to apply this look and feel in the integration phase.

Advanced:
  • Display view: Set it to widget for fixed width or fullscreen if you want the widget to be responsive to the iFrame size in your platform.

  • Display mode: By default will take your browser theme, or you can force it to light or dark.

  • Navigation: Set it to segment, tab or hide the navigation selector in the widget, expected usage of this would be to hide if you want to embed only part of this UI and make it look native while blocking the user to navigate between pages. You can also hide the navigation icons.

  • Display style: Apply your branding look from mixed to only flat or bordered.

  • Padding: Change the widget inline padding, set it to none if you want to make the widget blend with the background color select.

  • Rounding: Apply your branding rounding from square to round.

  • Font: Set your branding primary and secondary fonts.

  • Wallet: Show or hide the wallet selector in the widget, expected usage of this would be to hide if you want to embed only part of this UI and make it look native.

  • Theme: Edit each colors of each element for both light and dark preset. Use the refresh button on top to remove all changed that you made.

  • Widget

    Earn experience as a service

    hashtag
    Kiln Widget

    The Kiln Widget is ideal for all platforms seeking to offer crypto rewards, including wallets, custodians, tech providers, browser extensions and more. Its versatility serves a wide range of sectors, enhancing user engagement and allows you to monetise these services with earn capabilities integrated directly into your platform.

    The Kiln Widget empowers platforms to launch a fully branded decentralized application (dApp) or seamlessly embed it into any web-based interface. With the Kiln Widgetarrow-up-right editor, platforms can customize their earn sections to perfectly align with their unique brand, providing both flexibility and a personalized user experience.

    We are providing the Kiln widget to platforms to enable them to:

    • Monetise new service: Launch new prod with no coding required.

    • Adapt the integration to their platform: Deploy Kiln Widget as a standalone website (dApp) or embed it within an existing web platform or even mobile app.

    • Offer a complete earn experience their users: The widget offer users a seamless journey from discovering earning products to managing deposits and accessing detailed reports on they rewards all in one place.

    hashtag
    Widget capabilities

    hashtag
    🧑‍🎨 Branded Earn experience

    Customize the earn section to reflect your brand's look and feel. The Kiln Widget Editor allows you to apply your unique brand elements, ensuring a cohesive user experience.

    hashtag
    🕵️ Comprehensive earn administration

    Products management: Easily add/remove earning products without coding, including Native Staking, Pooled Staking, and DeFi protocols. You can also pause deposits on outdated products (e.g., migrating from Aave_v2 to Aave_v3) and restrict access to specific regions if needed.

    Region control: Block access to the widget or particular products in certain countries, ensuring compliance with local regulations.

    circle-info

    On demand capability, contact sales or customer support for more information.

    hashtag
    ☄️ No/Low Code Integration

    Kiln Widget enables the deployment of earning functionalities without requiring extensive technical resources. Whether you have a dedicated development team or not, you can integrate the widget effortlessly.

    hashtag
    Usage Examples

    Option 1: 🌊 Standalone Earn dApp Deploy Kiln Widget as a standalone dApp that can be accessed independently. This allows you to create a dedicated earn website that reflects your brand’s identity, without having to code anything, while you can administrate your website remotely. Ideal of brands that want to test out the appetite of their users while redirecting them to a branded website in a mobile wallet dApp browser for example.

    Option 2: ✨ Embedded Earn section Integrate Kiln Widget directly into your platform’s interface to provide users with a seamless earning experience. This is ideal for web-based platforms that want to add earning functionalities without extensive development efforts.

    Option 3: 🧩 Embedded just what your need Configure the widget without navigation, logo and wallet selection to embed part of the widget directly in your UI. This is ideal for web-based platforms that want to add deposit and withdraw without having to build this flow in house.

    hashtag
    What's next?

    ☄️
    🧑‍🎨Customize - Widget Editorchevron-right
    ☄️Integrate - No/Low Codechevron-right
    Customize - Widget Editor
    Dedicated Staking
    Pooled Staking
    DeFi Vaults
    Example of a widget accessible from the web but branded to a wallet :
    Kiln Widget branded Safe and embedded in a new “stake” section to offer access to reporting, staking deposits and withdraws
    Kiln Widget branded Ledger and embeded in a native modal to simplify deposits and withdraw
    Integration - No/Low Code
    View in Editorarrow-up-right

    Integrate - No/Low Code

    Kiln Widget enables the activate of earn feature without requiring extensive technical resources. Whether you have a dedicated development team or not, you can integrate Kiln Widget with ease.

    hashtag
    Prerequisites

    • You need a dashboard organization, if it's not already the case, ask kiln team so that we can onboard you.

    • You need access to a Kiln Connect API key, if it's not already the case, ask kiln team so that we can onboard you. You can generate one yourself, .

    • Have some deployed products on mainnet, if it's not already the case, kiln can provide test product for your testing and trial integration.

    • Optional : have customize your widget, you can directly upload your configuration via API and soon in Kiln dashboard directly

    hashtag
    Configure your Widget

    chevron-rightConfigure the widget look and feelhashtag

    You can , the you just have to past this json in the API widget config endpoint to edit the widget to your configuration.

    Endpoint: PUT /v1/widget/config

    Request Body:

    chevron-rightAdvanced configurationhashtag

    Advanced parameters can be used to further customize your widget integration:

    • slug:

      Defining a custom sub-domain for your widget :

    hashtag
    Integrate your Widget

    circle-info

    To integrate kiln widget in your platform, you just need to embed you widget URL in an iFrame, it can work on any tech stack and even in no-code tools.

    chevron-rightReact code sample demonstrating how to embed "kiln.widget.kiln.fi" in an iframehashtag

    This code creates a React component called KilnWidget that embeds the "kiln.widget.kiln.fi" widget in an iframe.

    You can find an example integration with a connector : iframe here.

    hashtag
    Deeplinks

    Kiln provides a deeplink mechanism that allows seamless redirection into the different pages between overview, deposit and withdraw.

    To enhance your platform's capabilities, consider integrating specific features of the Kiln Widget. For instance, if you already have an existing native earn section, you can redirect users to the Kiln Widget for deposit transactions. After a transaction is signed, seamlessly bring the user back to your platform.

    hashtag
    Your widget base url

    Access your widget using the configured slug , this will automatically pull your configuration including theme and available earn products. In this document we refer to this as "base url" or "your widget".

    Structure: https://slug.widget.kiln.fi/

    Example: , a Kiln managed configuration for testing the widget in an iframe.

    hashtag
    Portfolio

    By default if you redirect the user to "your widget" the overview page, it's will show all the user active and potential position based on the products you enabled in your widget.

    To redirect the user to this page you need to add the /overview after your base URL.

    Structure: https://slug.widget.kiln.fi/overview

    hashtag
    Manage

    By default if you redirect the user to "your widget" the overview page, it's will show all the user active and potential position based on the products you enabled in your widget.

    To redirect the user to the manage page you need to add the /overview after your base URL.

    Structure: https://slug.widget.kiln.fi/overview/{product}/{product_id}

    • product is define in the deployment endpoint and can be one of dedicated / pooling / defi

    • product_id valid vault ID in the format <chainId>_<vaultAddress>

    Example opening a Morpho Vault:

    hashtag
    Deposit

    If you want to open the widget direct on the deposit flow, you will need to add /earn after your base URL.

    Structure: https://slug.widget.kiln.fi/earn

    On this page, you can use the following path params to further customize the deposit flow.

    Here’s the improved Kiln Widget Deeplink Integration Guide with a clearer query parameters table, better type definitions, select options, detailed descriptions, and examples.

    Parameter
    Allowed Values
    Description
    Example

    Example Deeplinks

    hashtag
    1. Allow full Selection

    Users can freely choose deployment and asset:

    hashtag
    2. Predefine vault and asset

    Locking a specific vault and asset:

    hashtag
    3. Disable deployment and asset selection

    Prevent users from changing the predefined values:

    hashtag
    4. Redirect users after deposit

    Automatically send users back to your app after completing the deposit using callback_url :

    hashtag
    Withdraw

    If you want to open the widget direct on the withdraw flow, you will need to add /withdraw after your base URL.

    Structure: https://slug.widget.kiln.fi/withdraw

    You can use the path parameters defined above, notably : product_id , callback_title , callback_url .

    slug.widget.kiln.fi
    By default the slug is your organization-id, something like:
    d6309182-cbad-11ec-9d64-0242ac120002
  • frame_ancestor_urls: By specifying the frame_ancestor_urls, you're explicitly allowing only your domain to embed Kiln Widget, enhancing security of your integration.

  • connector: By default it's set to browser enabling the user to connect a wallet extension. If on your platform user can't use a browser extension to connect to the Widget, Kiln will need to build a custom connector, a great example of similar setups are with Safe or Ledger Live. If you want to build your own you can select the iFrame connector and follow the guide bellow.

  • links: By default it's set to null to display the default kiln T&Cs and privacy policy. You can pass custom links here as presented in the example bellow.

  • Endpoint: PUT /v1/widget/config

    Request Body:

    https://github.com/kilnfi/kiln-widget-integration-example?tab=readme-ov-file#rpc-message-handlingarrow-up-right
    • eg. 1_0xd88714e295da03a07bcb8ad4a4dbe87fa42d75f9

    asset_id

    Valid asset ID in the format <chainId>_<assetAddress>

    Predefines the asset to deposit.

    asset_id=1_0xdef456789abc...

    callback_title

    Any string

    The text displayed on the return button after deposit.

    callback_title=Back+to+Dashboard

    callback_url

    Valid HTTPS URL

    The URL where the user is redirected after deposit completion.

    callback_url=https://yourapp.com/dashboard

    select_deployment

    "disabled" or unspecified

    Controls whether users can select a deployment. If "disabled", the deployment selection is locked.

    select_deployment=disabled

    select_asset

    "disabled" or unspecified

    Controls whether users can select an asset. If "disabled", the asset selection is locked.

    select_asset=disabled

    product_id

    Valid product ID in the format <chainId>_<vaultAddress>

    Predefines the deployment to use.

    click here to read more
    export the configuration from the editor
    https://iframe.widget.testnet.kiln.fi/arrow-up-right
    https://iframe.widget.testnet.kiln.fi/overview/defi/8453_0x390D077f8E60ffb58805420edc635670AA4f34C3arrow-up-right
    {
        "theme": "light", // Values: light, dark, desktop (take the broswer default) 
        "logo_url": null; // null for no logo, paste url for logo
        "rounding": "8", // use editor value 
        "widget_style": "flat+border", // use editor value 
        "card_padding": "16", // use editor value 
        "widget_width": "compact", // use editor value 
        "navigation": "segment", // use editor value 
        "font_primary": "Geist", // use editor value 
        "font_secondary": "IBM Plex Sans", // use editor value 
        "show_icons": true, // show hide icons in navigation
        "show_wallet": true, // show hide wallet selector
        "multi_chain": true, // force the wallet to only display reporting and product to only one chain
        "css_variables": {
            "--Color-Brand-Light-Primary": "rgba(255,101,33,1.00)",
            "--Color-Brand-Light-Secondary": "rgba(255,101,33,1.00)",
            "--Color-Brand-Light-Secondary-10\\%": "rgba(255,101,33,0.10)",
            "--Color-Brand-Dark-Primary": "rgba(255,101,33,1.00)",
            "--Color-Brand-Dark-Secondary": "rgba(255,101,33,1.00)",
            "--Color-Brand-Dark-Secondary-10\\%": "rgba(255,101,33,0.10)",
            "--Color-Surface-Light-Transparent": "rgba(0,0,0,0.00)",
            "--Color-Surface-Light-World": "rgba(240,240,240,1.00)",
            "--Color-Surface-Light-Primary": "rgba(255,255,255,1.00)",
            "--Color-Surface-Light-Underlay": "rgba(240,240,240,1.00)",
            "--Color-Surface-Light-Input": "rgba(255,255,255,1.00)",
            "--Color-Surface-Dark-Transparent": "rgba(0,0,0,0.00)",
            "--Color-Surface-Dark-World": "rgba(17,17,17,1.00)",
            "--Color-Surface-Dark-Primary": "rgba(21,21,21,1.00)",
            "--Color-Surface-Dark-Underlay": "rgba(32,32,32,1.00)",
            "--Color-Surface-Dark-Input": "rgba(51,51,51,1.00)",
            "--Color-Border-Light-Primary": "rgba(217,217,217,1.00)",
            "--Color-Border-Light-Secondary": "rgba(217,217,217,1.00)",
            "--Color-Border-Light-Input": "rgba(0,0,0,1.00)",
            "--Color-Border-Light-Divider": "rgba(229,229,229,1.00)",
            "--Color-Text-Light-Primary": "rgba(0,0,0,1.00)",
            "--Color-Button-Light-Primary": "var(--Color-Brand-Light-Primary)",
            "--Color-Button-Light-Primary-Text": "rgba(255,255,255,1.00)",
            "--Color-Button-Light-Secondary": "rgba(255,255,255,1.00)",
            "--Color-Button-Light-Tertiary": "rgba(255,255,255,1.00)",
            "--Color-Text-Light-Secondary": "rgba(85,85,85,1.00)",
            "--Color-Text-Light-Tertiary": "rgba(136,136,136,1.00)",
            "--Color-Text-Light-Additional": "rgba(170,170,170,1.00)",
            "--Color-Text-Light-Positive": "rgba(87,176,31,1.00)",
            "--Color-Text-Light-Negative": "rgba(252,36,36,1.00)",
            "--Radius-0": "0px",
            "--Radius-4": "4px",
            "--Radius-8": "8px",
            "--Radius-12": "12px",
            "--Radius-16": "16px",
            "--Radius-20": "20px",
            "--Radius-24": "24px",
            "--Radius-28": "28px",
            "--Radius-32": "32px",
            "--Radius-100\\%": "999%",
            "--logo": "kiln",
            "--Color-Border-Dark-Primary": "rgba(51,51,51,1.00)",
            "--Color-Border-Dark-Secondary": "rgba(51,51,51,1.00)",
            "--Color-Border-Dark-Input": "rgba(68,68,68,1.00)",
            "--Color-Border-Dark-Divider": "rgba(41,41,41,1.00)",
            "--Color-Text-Dark-Primary": "rgba(255,255,255,1.00)",
            "--Color-Text-Dark-Secondary": "rgba(169,169,169,1.00)",
            "--Color-Text-Dark-Tertiary": "rgba(136,136,136,1.00)",
            "--Color-Text-Dark-Additional": "rgba(255,255,255,1.00)",
            "--Color-Text-Dark-Positive": "rgba(87,176,31,1.00)",
            "--Color-Text-Dark-Negative": "rgba(255,61,61,1.00)",
            "--Color-Button-Dark-Primary": "var(--Color-Brand-Light-Primary)",
            "--Color-Button-Dark-Primary-Text": "rgba(255,255,255,1.00)",
            "--Color-Button-Dark-Secondary": "rgba(51,51,51,1.00)",
            "--Color-Button-Dark-Tertiary": "rgba(21,21,21,1.00)"
        }
    }

    deployment_id=1_0xabc123456789...

    {
        "frame_ancestor_urls": [
            "
    
    const KilnWidget = () => {
      return (
          <iframe
            src="https://kiln.widget.kiln.fi"
            title="Kiln Widget"
            allow="clipboard-write"
            style={{ width:"100vw", height:"100vh"}}
          />
      );
    };
    
    export default KilnWidget;
    https://iframe.widget.testnet.kiln.fi/earn
    https://iframe.widget.testnet.kiln.fi/earn?product_id=8453_0x390D077f8E60ffb58805420edc635670AA4f34C3&asset_id=8453_0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
    https://iframe.widget.testnet.kiln.fi/earn?select_deployment=disabled&select_asset=disabled
    https://slug.widget.kiln.fi/earn?product_id=1_0xabc123...&asset_id=1_0xdef456...&callback_title=Back+to+App&callback_url=https://yourapp.com/dashboard
    my-custom-domain.com
    "
    ],
    "connector": "custom-connector", // Contact our team if you need a custom connector
    "slug": "super-custom", // url will be super-custom.widget.kiln.fi
    "links": [
    {
    "text": "FAQ",
    "url": "https://www.faq.com"
    },
    {
    "text": "Support",
    "url": "https://www.support.kiln.fi"
    }
    ]
    }
    Kiln Widgetwidget.kiln.fichevron-right
    Logo