SDK reference

The planned interface of the @noderr/sdk package.

Not yet published. The @noderr/sdk package does not exist on npm yet. These APIs are subject to change before publication.

What to use today

Planned installation

npm install @noderr/sdk
# or
yarn add @noderr/sdk
# or
pnpm add @noderr/sdk

Planned quick start

import { NoderrClient } from'@noderr/sdk';
const client = new NoderrClient({
chainId: 84532, // Base SepoliarpcUrl: 'https://sepolia.base.org',
});
// Get all vaultsconst vaults = await client.vaults.getAll();
// Get vault detailsconst vault = await client.vaults.get('0x49f747BBac988Cd628a5D79AAdF865EBaDe6a34f');
console.log(`TVL: ${vault.tvlUsd}`);

Planned modules

Vaults

// Get all vaultsconst vaults = await client.vaults.getAll();
// Get vault by addressconst vault = await client.vaults.get(address);
// Get user position in vaultconst position = await client.vaults.getUserPosition(vaultAddress, userAddress);

ERC-7540 operations

// Request deposit (ERC-7540 async flow)const requestId = await client.vaults.requestDeposit(
vaultAddress,
amount, // in wei
receiverAddress
);
// Claim deposit (receive shares after fulfillment)const shares = await client.vaults.claimDeposit(vaultAddress, receiverAddress);
// Request redeemconst redeemRequestId = await client.vaults.requestRedeem(
vaultAddress,
shares,
receiverAddress,
ownerAddress
);
// Claim redeem (receive assets)const assets = await client.vaults.claimRedeem(vaultAddress, receiverAddress);

Strategies

// Get all strategiesconst strategies = await client.strategies.getAll();
// Get strategy by IDconst strategy = await client.strategies.get(strategyId);

Governance

// Get all proposalsconst proposals = await client.governance.getProposals();
// Vote on proposalawait client.governance.vote(proposalId, support, reason);

Planned types

interface Vault {
address: string;
name: string;
symbol: string;
tvl: bigint;
tvlUsd: number;
totalShares: bigint;
pricePerShare: bigint;
apy: {
current: number;
day7: number;
day30: number;
inception: number;
};
fees: {
management: number;
performance: number;
hurdle: number;
};
riskLevel: 'conservative' | 'moderate' | 'aggressive';
isERC7540: boolean;
fulfillmentDelay?: number;
}
interface Strategy {
id: string;
name: string;
status: 'shadow' | 'paper_trading' | 'live' | 'terminated';
riskScore: number;
sharpeRatio: number;
maxDrawdown: number;
allocation: bigint;
}
interface UserPosition {
vault: Vault;
shares: bigint;
value: bigint;
pnl: bigint;
pnlPercent: number;
}

Last updated: February 2026

results matching ""
    No results matching ""