Get your API key at hackathon-apikey.vercel.app.
Network
Unlink is live on Base Sepolia.| Resource | Value |
|---|---|
| Network | Base Sepolia |
| Chain ID | 84532 |
| API URL | https://staging-api.unlink.xyz |
| Pool Address | 0x647f9b99af97e4b79DD9Dd6de3b583236352f482 |
Faucet
Get testnet tokens for development.
Base Sepolia faucet
Get testnet ETH for gas.
Prerequisites
Make sure you have:- Node.js v18 or later
- A package manager (npm, pnpm, yarn, or bun)
- A TypeScript project
Don't have a project yet?
Don't have a project yet?
Create a client
createUnlink() returns a client bound to one Unlink account. Every operation (deposit, transfer, withdraw) acts on behalf of that account.- Server-side (Node.js)
- Browser (viem)
- Browser (ethers)
Use a private key and viem for backends, scripts, bots, or AI agents. In a multi-user setup, instantiate one client per user request.
unlinkAccount.fromSeed(...) or unlinkAccount.fromKeys(...) when you already manage seed material or raw account keys outside the SDK.What each piece does:| Concept | Role |
|---|---|
createWalletClient (viem) / BrowserProvider (ethers) | Standard EVM wallet — signs on-chain transactions (deposits, approvals). Not Unlink-specific. |
unlinkAccount.fromMnemonic() | Derives your Unlink account (private spending & viewing keys) from a BIP-39 mnemonic. A different mnemonic = a different Unlink identity. |
unlinkEvm.fromViem() / unlinkEvm.fromEthers() | Bridges your EVM wallet into the SDK so Unlink can submit on-chain transactions on your behalf. |
createUnlink() | Combines everything into a single client. Every SDK operation goes through this client. |
Get your Unlink address
Your Unlink address (This address is deterministically derived from your mnemonic. The same mnemonic always produces the same address.
unlink1...) is your identity inside the privacy pool. Share it to receive private transfers — it does not reveal your EVM wallet.Get test tokens
Fund your Unlink account directly via the faucet. No EVM approval or gas needed.You can verify the balance arrived:See Faucet for other options like minting public ERC-20 tokens to an EVM wallet.
Withdraw
Going further
Deposit from an EVM wallet
To move ERC-20 tokens from an on-chain wallet into the unlink contract, usedeposit(). This requires a one-time Permit2 approval per token and an EVM provider with publicClient for receipt polling.