> For the complete documentation index, see [llms.txt](https://docs.selcier.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.selcier.xyz/the-platform/developer-tools.md).

# Developer tools

Companies, venues and wallets reach issuance, transfer checks, offerings, liquidity, corporate actions and indexed chain data through Selcier's API and TypeScript SDK.

Whatever Console can do and whatever the Explorer displays can also be reached from code. Selcier's contracts and indexer sit behind a REST API. On top of that, the TypeScript SDK wraps the API and includes ABIs plus helpers for calling the contracts directly.

## Typical integrators

| Who                     | What they build                                                                                                                                                         |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Companies**           | Feed events into their own data warehouse, keep internal systems aligned with the cap table, automate employee onboarding, and start distributions from treasury tools. |
| **Venues and wallets**  | Show why a transfer was blocked, list Selcier assets, call `canTransfer` ahead of a trade, and read multipliers and Reference Valuations.                               |
| **Fund administrators** | Produce reports from indexed events and reconcile positions held across many companies.                                                                                 |
| **Service providers**   | Offer their own clients products built around offerings and Liquidity Windows.                                                                                          |

## API surface

| Area                                | Capabilities                                                                                                            |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Companies and share classes**     | Set up companies, deploy classes, and read configuration and supply.                                                    |
| **Holders**                         | Send invitations, fetch lots and balances, look up identity status.                                                     |
| **Transfer checks**                 | Call `POST /v1/transfers/check` for the contract's own answer, delivered as a reason code and a plain-language message. |
| **Offerings and Liquidity Windows** | Create, watch and close either one, and list its orders.                                                                |
| **Distributions and proposals**     | Pay out funds and hold votes.                                                                                           |
| **Documents and valuations**        | Publish Reference Valuations and anchor documents.                                                                      |
| **Events**                          | Search the indexed on-chain history through `GET /v1/events`.                                                           |
| **Contracts**                       | Get the addresses deployed on a network from `GET /v1/contracts`.                                                       |
| **Webhooks**                        | Get a signed notification whenever something occurs on-chain.                                                           |

## How the API behaves

**State lives on the chain.** Nothing the API holds can contradict the chain. Writes turn into on-chain transactions. Reads come either straight from the chain or from an index of it, and responses name the `block_number` and `tx_hash` behind each value.

**One rule set.** An API transfer check uses the modules and configuration of the on-chain `RuleEngine`, unchanged. Venues can therefore depend on the result when predicting whether a trade will settle.

**Keys do not replace signatures.** Preparing an action is as far as an API key can go, because anything sensitive needs signatures in the company's `IssuerTimelock`. Pausing a token, moving a holder's balance and altering rules are all out of reach for a key alone.

**Consistent conventions.** An `Idempotency-Key` is accepted on any write. Pagination is cursor-based, errors are typed and include a request id, and dated versions are selected with the `Selcier-Version` header.

## Live and sandbox

| Chain                           | Name    | Key formats                  | Base URL                             |
| ------------------------------- | ------- | ---------------------------- | ------------------------------------ |
| Robinhood Chain mainnet (4663)  | Live    | `sk_live_...`, `pk_live_...` | `https://api.selcier.xyz/v1`         |
| Robinhood Chain testnet (46630) | Sandbox | `sk_test_...`                | `https://api.sandbox.selcier.xyz/v1` |

On testnet, the sandbox behaves like the live API, except that claims come instantly from test verifiers. Before going live, companies practice each deployment there using identical configuration.

## Sending a request

{% tabs %}
{% tab title="TypeScript" %}

```typescript
import { Selcier } from "@selcier/sdk";

const selcier = new Selcier(process.env.SELCIER_SECRET_KEY);

const result = await selcier.transfers.check({
  share_class: "cls_8KdT2rPq",
  from: "0x4b2a...91c0",
  to: "0x7e19...0a3d",
  amount: "250",
});

console.log(result.ok, result.reason_code);
```

{% endtab %}

{% tab title="curl" %}

```bash
curl https://api.selcier.xyz/v1/transfers/check \
  -H "Authorization: Bearer $SELCIER_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "share_class": "cls_8KdT2rPq",
    "from": "0x4b2a...91c0",
    "to": "0x7e19...0a3d",
    "amount": "250"
  }'
```

{% endtab %}
{% endtabs %}

## Further pages

* [Your first integration](/build-on-selcier/first-integration.md) takes you from an API key to a share class in the sandbox.
* [Keys and environments](/build-on-selcier/keys-and-environments.md) explains keys, rate limits and versioning.
* [REST API](/build-on-selcier/rest-api.md) lists each endpoint.
* [Event delivery](/build-on-selcier/event-delivery.md) describes how webhooks arrive and how to verify their signatures.
* [TypeScript client](/build-on-selcier/typescript-client.md) documents the client along with its on-chain helpers.
* [Supporting Selcier tokens](/build-on-selcier/supporting-selcier-tokens.md) is written for venues and wallets.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.selcier.xyz/the-platform/developer-tools.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
