@circle-fin/earn-kit
v1.0.1
Published
SDK for DeFi lending vault deposits, withdrawals, and rewards
Keywords
Readme
Earn Kit
Note: Earn Kit is coming soon. The APIs documented here are published for early integration and feedback; vault availability and production readiness will be announced ahead of general availability.
Earn Kit is a Circle SDK for DeFi lending vault earn flows. It provides typed operations for discovering vaults, fetching wallet positions, previewing deposits, withdrawals, and reward claims, and executing deposit, withdraw, and claim rewards transactions.
Installation
npm install @circle-fin/earn-kit
# or
yarn add @circle-fin/earn-kitInstall an adapter for the wallet stack you use. For EVM flows:
npm install @circle-fin/adapter-viem-v2 viem
# or
yarn add @circle-fin/adapter-viem-v2 viemQuick Start
import { EarnChain, EarnKit } from '@circle-fin/earn-kit'
import { createViemAdapterFromPrivateKey } from '@circle-fin/adapter-viem-v2'
const kit = new EarnKit()
const adapter = createViemAdapterFromPrivateKey({
privateKey: process.env.PRIVATE_KEY,
})
const quote = await kit.getDepositQuote({
from: { adapter, chain: EarnChain.Arc_Testnet },
vaultAddress: '0xAabbeF1D3971c710276ed41eC791BbE14CdB8E88',
amount: '100.50',
})
console.log(`Expected shares: ${quote.expectedShares.amount}`)Supported Chains
Use kit.getSupportedChains() or the functional getSupportedChains(context)
helper to read the supported chain definitions from configured earn providers.
Core Operations
getVaults: fetch vault metadata for one or more vaults.getPosition: fetch a wallet position for a vault.getDepositQuote: preview a deposit.getWithdrawalQuote: preview a withdrawal.getClaimRewardsQuote: preview claimable rewards.deposit: execute a deposit transaction.withdraw: execute a withdrawal transaction.claimRewards: claim rewards, or return without a transaction when none are claimable.
Configuration
Earn Kit works without a Kit Key. A Kit Key can be passed per operation for permissioned access and attribution:
await kit.getVaults({
vaults: [
{
chain: 'Arc_Testnet',
vaultAddress: '0xAabbeF1D3971c710276ed41eC791BbE14CdB8E88',
},
],
config: {
kitKey: process.env.KIT_KEY,
},
})License
This project is licensed under the Apache 2.0 License. Contact support for details.
