Skip to main content

White-label UI

The Owney White-label UI allows you to quickly integrate DeFi Agents into your application without building a custom interface. You can embed the UI directly into your product and customize the visual styling to match your brand. Once initialized, the widget automatically handles wallet interaction, agent activation, strategy deposits, portfolio monitoring, and earnings tracking.

You can use the customizer below to preview styling and copy the generated snippet straight into your app. The widget loads as an iframe and re-themes live as you tweak the controls. Specifying a provider and SDK key is required. To request an SDK key, contact your Owney account manager or email support@owney.app.

Loading customizer…

Wallet provider

The widget requires an EIP-1193 compatible provider to communicate with the user’s wallet and execute transactions, while Owney manages the underlying agent infrastructure. This provider can be obtained from any wallet integration used in your application. We recommend wagmi + viem for new integrations.

Example using an injected wallet:

const provider = window.ethereum;

await provider.request({
method: "eth_requestAccounts",
});

OwneyWidget.init({
apiKey: "YOUR_API_KEY",
provider,
});

If your application already integrates a wallet solution (e.g. Privy, or WalletConnect), simply pass the provider returned by that library.


UI customization

The White-label UI supports customization options to match the styling of your application.

Supported styling options:

  • primaryColor — Primary accent color
  • secondaryColor — Secondary UI color
  • background — Background color
  • font — Font family (CSS font-family value; omit to use the default)
  • borderRadius — Border radius for components

Supported ui options:

  • hideProfile — Hide the profile section of the widget

Example:

OwneyWidget.init({
apiKey: "YOUR_API_KEY",
provider,
styling: {
primaryColor: "#4A7FDD",
secondaryColor: "#002B5B",
background: "#FFFFFF",
borderRadius: "22px",
},
ui: {
hideProfile: false,
},
});

Calling OwneyWidget.init() again on the same container hot-updates styling and ui props without reloading the iframe — useful for theme switchers.