Your first API request https://docs.hazbase.com/en/start/quickstart/ GET STARTED Your first API request Retrieve the configured token list from the public API. Follow the steps to install the SDK, connect to the API, read the response and handle errors. @hazbase/kit 0.9.0 Node.js 22 / JavaScript (ESM) Read only · no private key 0 1 Prepare 0 2 Install 0 3 Request 0 4 Verify 1. Prepare your environment This guide uses Node.js 22. Check the version in your terminal and create a new directory. Requests use https://api.hazbase.com by default. Terminal 1 2 3 4 5 6 7 node --version npm --version mkdir hazbase-day1 cd hazbase-day1 npm init -y npm pkg set type = module npm install --save-exact @hazbase/kit@0.9.0 No TypeScript configuration or tsx installation is required. Verify the connection in JavaScript first, then move to TypeScript or React as needed. 2. Run your first request Save the following as index.mjs and run it. chainId=11155111 selects Sepolia. The response lists tokens configured in this environment; it is not a search across every token on the chain. index.mjs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 import { createHazbaseWalletClient , HazbaseWalletApiError } from "@hazbase/kit/wallet" ; // Read-only: no private key, signature, transfer, or transaction is used. const apiEndpoint = process . env . HAZBASE_API_ENDPOINT || "https://api.hazbase.com" ; const chainId = Number ( process . env . CHAIN_ID || "11155111" ) ; if ( ! Number . isSafeInteger ( chainId ) || chainId <= 0 ) throw new Error ( "CHAIN_ID must be a positive integer." ) ; const wallet = createHazbaseWalletClient ( { apiEndpoint , fetcher : ( url , options ) => { const headers = new Headers ( options ?. headers ) ; if ( process . env . HAZBASE_API_KEY ) headers . set ( "X-Hazbase-Api-Key" , process . env . HAZBASE_API_KEY ) ; return fetch ( url , { ... options , headers , signal : AbortSignal . timeout ( 15000 ) } ) ; } , } ) ; try { const result = await wallet . listTokens ( { chainId } ) ; console . log ( "Connected to:" , apiEndpoint ) ; console . log ( "Chain ID:" , chainId ) ; console . log ( "Tokens returned:" , result . tokens . length ) ; console . table ( result . tokens . map ( ( { name , symbol , standard , decimals , transferable } ) => ( { name , symbol , standard , decimals , transferable , } ) ) , ) ; if ( result . tokens . length === 0 ) console . log ( "Connection succeeded. No tokens are configured for this chain." ) ; } catch ( error ) { if ( error instanceof HazbaseWalletApiError ) { console . error ( "HTTP status:" , error . status , "Code:" , error . code ?? "not provided" ) ; } console . error ( error instanceof Error ? error . message : String ( error ) ) ; process . exitCode = 1 ; } Download the code Terminal node index.mjs 3. Check the result Success prints “Connected to”, “Chain ID” and “Tokens returned”, followed by a table. Counts and names depend on the environment configuration. Zero tokens still means the API connection succeeded. Example response shape (empty list) 1 2 3 { "tokens" : [ ] } Token entries contain fields including name, symbol, address, standard, decimals and transferable. See the HTTP reference for the complete response type. GET /api/wallet/tokens Check the API without an SDK You can perform the same read with curl. This request does not require an Authorization header or private key. bash 1 2 3 curl --fail-with-body --max-time 15 \ "https://api.hazbase.com/api/wallet/tokens?chainId=11155111" \ -H "Accept: application/json" Next steps You have now connected the SDK to the real API. For issuance or transfers, continue with environment configuration, permissions, contracts and wallet setup. Choose your integration path Troubleshooting