# Bitpont API Quickstart | First Request & SDK Setup

Make your first free Bitpont market-data request, check configured capabilities and connect an application using the server-side JavaScript SDK.

Canonical: https://www.bitpont.com/developers/quickstart/


## Start with a read

Download the JavaScript client into your server project. It has no package dependencies and is not published to npm. Use a current Node.js runtime with fetch; Bitpont’s server is tested on Node.js 24.

- Start without a key using publicAccess: true.
- Call the integration manifest and choose a ready public market resource.
- Read the result and preserve its source timestamp and availability state.
- Respect Retry-After and use bounded refresh intervals.Account reads, swap quotes and unsigned treasury preparation require scoped partner access. See [free access and limits](/developers/free-access/) before choosing your integration.

Server-side JavaScriptCopy code
```
import { BitpontClient } from './bitpont-client.mjs';

const bitpont = new BitpontClient({
  publicAccess: true
});
const manifest = await bitpont.integrationManifest();
const marketRead = manifest.resources.find(
  item => item.id === 'hyperliquid.markets'
);
if (!marketRead?.ready) throw new Error('Market read unavailable');

const result = await bitpont.read('hyperliquid.markets', {kind:'perp'});
console.log(result.state, result.observedAt, result.data);
```

## Check before adding a feature

integrationManifest() separates an adapter being configured from your key being authorized. A ready adapter can still return unavailable provider data. The manifest performs no blockchain health check and establishes no trading eligibility.

## Read the response, not just HTTP 200

Read results carry state, servedAt, observedAt, freshness, pagination and data. A response can be partial or stale. A null observation time means the source time is unknown; it does not mean the data is current.

## Choose your next integration

Use the [market guide](/developers/markets/) for discovery, the [portfolio guide](/developers/portfolio/) for existing positions or the [treasury guide](/developers/treasury/) for unsigned payment proposals. Website owners can start with the [public discovery widget](/business/websites/) without an API key.


