For the complete documentation index, see llms.txt. This page is also available as Markdown.

SDK FAQ


Do users need to create an account?

No. Users connect their existing wallet and sign a message to authenticate. There is no signup form, email or password.


What happens when a user deposits for the first time?

A personal smart contract vault is deployed on-chain for them automatically. This happens as part of the deposit flow. The widget shows a progress tracker through each step: contract creation, approval, deposit and confirmation.


Can users withdraw at any time?

Yes. Withdrawals are available instantly, for any amount. Partial and full withdrawals are both supported. Accrued returns are included automatically.


How does revenue sharing work?

Partners earn a share of the performance fees generated by their users' vault activity. Revenue share terms are negotiated on a per-partner basis during onboarding. The /sdk/public/revenue-summary API endpoint provides real-time reporting on your earnings.


What fees are charged?

Surf charges a performance fee on profit only. There are no management fees. Users only pay when they earn. Performance fee details are available in the partner dashboard.


Is the widget customisable?

Fully. You can override colours, typography and border radius through theme tokens. You can target any element through scoped CSS classes. You can use individual components in your own layout. Or you can skip the widget entirely and build a custom UI using the headless hooks.

See Customisation for the full reference.


Which frameworks are supported?

The widget requires React 17 or higher. The core SDK is framework-agnostic and works with React, Vue, Svelte, vanilla JavaScript or Node.js.


Can I add support for more chains or assets?

Yes. The SDK is extensible. You can register additional chains, tokens and wallet adapters at build time. Contact the Surf team for guidance.


Where do I get my appId and apiSecret?

Register your application at sdk.surfliquid.com. On approval, you receive both credentials. The appId is public. The apiSecret is private and shown only once.


How do I test before going to production?

Use Base Sepolia (chain ID 84532) as your testnet environment. Switch the chainId parameter in your SurfClient configuration.


Where can I find integration examples?

A runnable React + Vite sample application is available at github.com/ankur-dahiya/surfliquid-sdk-core-integration. The repository also includes a SKILL.md that AI agents can use to integrate the SDK.


Where do I get support?

For integration questions, custom requirements or enterprise deployment, contact the Surf team through the partner dashboard at sdk.surfliquid.com.

Last updated