Get your API key at
hackathon-apikey.vercel.app.
execute()for adapter-based contract calls from a user’s private balanceBurnerWalletfor temporary EOAs that interact with external protocols directly
Which path should you use?
| Pattern | Best for | What stays private | What becomes public |
|---|---|---|---|
execute() | Structured smart contract integrations routed through the Unlink adapter | Sender identity | Calldata target, token type, and amounts |
BurnerWallet | Temporary EOA-based app flows where a protocol expects a normal wallet | Main Unlink account identity | Burner address activity while it is active |
Option 1: execute()
Use execute() when you want to call contracts directly from a private Unlink balance and bring outputs back into the unlink contract in the same flow.
- you already know the contract call sequence
- you want the private-balance flow to stay inside Unlink’s adapter model
- you want outputs deposited back into the user’s private balance automatically
Option 2: BurnerWallet
Use a burner when the external app expects a normal EOA and you want to isolate that activity from the user’s main account.
1. Create and fund a burner
2. Use the burner as a normal wallet
3. Deposit back and dispose
- the protocol expects a normal wallet UX
- you need direct wallet compatibility rather than adapter-driven execution
- you want a disposable address per session, strategy, or workflow
depositToPool().
Practical guidance
- Start with
execute()if the interaction can be expressed as a small, known call graph - Use
BurnerWalletwhen the protocol or frontend assumes a standard EOA session - Use burner flows for higher-friction wallet integrations, and adapter flows for tighter private-balance integrations
execute()for tightly integrated swaps and automated strategiesBurnerWalletfor broader DeFi compatibility and disposable session wallets