Skip to main content
Every step below is the same three moves: prepare an unsigned transaction, sign it with your whitelisted wallet, send it. The examples target Sepolia (aa36a7) on sandbox, so nothing here moves real value.

Before you start

1

Get an API key

Request one. Every call below needs x-api-key.
2

Get your signer whitelisted

Brickken must whitelist the wallet you pass as signerAddress before any prepare call accepts it. Ask for it in the same request as the key.
3

Fund that wallet with native gas

You broadcast the transactions, so the signer pays the gas — Sepolia ETH here.
The wallet that performs the first newTokenization becomes the tokenizer for that token. Only the tokenizer can mint it, whitelist its investors, or distribute its dividends. Transfers and burns can come from any wallet. Your API key is also scoped to the symbols it tokenized — anything else returns Unauthorized token symbol.

The sign-and-send loop

You will repeat this after every prepare, so it is worth writing once. Prepare returns { txId, transactions }:
Signing, with ethers:
Then poll until it confirms:
pending means broadcast but not yet mined. Do not resubmit — you would pay gas twice.
Already run your own broadcasting? Add "executionMode": "client-broadcast" to any prepare below, submit the signed transaction to the chain yourself, then confirm with { txId, txHash } instead of { txId, signedTransactions }. Brickken reconciles your hash so the transaction still appears in get-transaction-status and in the dApp. See Send Transactions.

1. Create the tokenized asset

The field is name, not tokenName. tokenType accepts EQUITY, DEBT, BILL_FACTORING, ICO, STABLECOIN, REVENUE_SHARE, RWA_TOKEN, or PROFIT_SHARING, and defaults to EQUITY. supplyCap defaults to 0, which means uncapped — set it deliberately. Sign and send, then confirm the token exists:
Every field, with the request and response schema, is on the newTokenization reference.

2. Whitelist your investors

A security token only moves between whitelisted wallets. Whitelist before you mint or accept investment.
whitelistStatus: false removes an investor. Verify with GET /get-whitelist-status.

3. Mint tokens

needWhitelist: true whitelists the recipient as part of the same mint, which collapses step 2 into step 3 when you are onboarding a new investor.

4. Launch the offering

Every one of those fields is required. Dates are ISO 8601. acceptedCoin is a payment token symbol — USDT, USDC, or BKN. Once it is live, list your offerings and keep the uuid:

5. Take an investment

Note there is no signerAddress in the required set — the investor signs this one, not the tokenizer.
The investor needs the payment token in their wallet, and the prepare response may contain two transactions — an ERC-20 approve followed by the investment. Sign and send both, in order. Track progress with GET /get-investments-by-sto-id and GET /get-sto-balance.

6. Let investors claim their tokens

The investor signs this too.

7. Close the offering

8. Distribute dividends

Only the tokenizer can do this. Read the result with GET /get-dividend-distribution.

When something fails

Each write method has its own credit balance, so exhausting mintCredits does not block newSto. See Authentication for plans, scoping, and the full error reference.

Doing this without writing HTTP

MCP server

The same lifecycle as agent tools — create_tokenization, create_sto, mint_tokens — driven by an AI agent with just your API key.

Postman collection

Every request above, ready to run.