Loading...
Loading...
Expert skill for integrating the hydric Gateway SDK (@hydric/gateway) in JavaScript and TypeScript. Use this skill to orchestrate multi-chain liquidity, resolve token identities, and build high-fidelity DeFi dashboards with institution-grade precision.
npx skill4agent add hydric-org/skills hydric-gateway-js-ts-sdk-user@hydric/gateway| What You Need | Where to Look |
|---|---|
| Full SDK Docs | https://docs.hydric.org/sdk-reference/typescript |
| Live Docs MCP Server | https://docs.hydric.org/mcp |
| Source Code | https://github.com/hydric-org/gateway-sdk/tree/main/sdks/typescript |
| NPM Package | |
| Supported Chains | https://docs.hydric.org/overview/supported-blockchains |
| Basket IDs | https://docs.hydric.org/sdk-reference/typescript/token-baskets#available-baskets |
| Supported Protocols | https://docs.hydric.org/overview/supported-protocols |
npm install @hydric/gatewayimport { HydricGateway } from "@hydric/gateway";
const hydric = new HydricGateway({
apiKey: process.env.HYDRIC_API_KEY,
});
// The resources:
hydric.multichainTokens; // Multi-chain token aggregation
hydric.singleChainTokens; // Single-chain token operations (faster)
hydric.tokenBaskets; // Curated token baskets of many sectorssingleChainTokensmultichainTokenstokenBaskets// 1. Initialize
const hydric = new HydricGateway({ apiKey: "sk_..." });
// 2. Call a resource method
const { tokens } = await hydric.multichainTokens.search({
search: "USDC",
config: { limit: 10 },
});
// 3. Handle errors
try {
const data = await hydric.tokenBaskets.getSingleChainById({
chainId: 8453,
basketId: "usd-stablecoins",
});
} catch (error) {
if (error instanceof HydricRateLimitError) {
/* backoff */
}
if (error instanceof HydricNotFoundError) {
/* handle not found */
}
}multichainTokenslist()search({ search })singleChainTokenslist(chainId, params)search(chainId, { search })tokenBasketslist()getMultiChainById({ basketId })getSingleChainById({ chainId, basketId })// Multi-chain: params object only
hydric.multichainTokens.list({ config, filters });
// Single-chain: chainId FIRST, then params
hydric.singleChainTokens.list(8453, { config, filters });let cursor = null;
do {
const { tokens, nextCursor } = await hydric.multichainTokens.list({
config: { cursor, limit: 100 },
});
cursor = nextCursor; // null when done
} while (cursor);instanceofHydricInvalidParamsErrorHydricUnauthorizedErrorHydricNotFoundErrorHydricRateLimitErrorHydricError// User: "Find USDC everywhere"
const { tokens } = await hydric.multichainTokens.search({ search: "USDC" });
// Each token has: addresses: [{ chainId: 1, address: '0x...' }, ...]// User: "Show me top tokens on Base ordered by tvl"
const { tokens } = await hydric.singleChainTokens.list(8453, {
config: { orderBy: { field: "tvl", direction: "desc" } },
});// User: "Get all stablecoins on Ethereum"
const { basket } = await hydric.tokenBaskets.getSingleChainById({
chainId: 1,
basketId: "usd-stablecoins",
});
// basket.tokens = [{ symbol: 'USDC', address: '0x...' }, ...]| Task | Code |
|---|---|
| List tokens globally | |
| List tokens on chain | |
| Search globally | |
| Search on chain | |
| Get all baskets | |
| Get basket (multi-chain) | |
| Get basket (single chain) | |
'@hydric/gateway'MultiChainTokenMetadatainstanceof