Skip to main content
POST
Prepare an STO investment
Prepares unsigned transactions for making an investment in a Security Token Offering (STO). Use POST /prepare-transactions with method=newInvest.

Notes

  • The investor must have sufficient balance of the payment token
  • Investment amount must be within the STO’s min/max investment limits
  • The STO must be active and within the investment period
  • The investor address will be automatically whitelisted if required

Next step

Preparing does not touch the chain. The response gives you txId and an array of unsigned transactions — you still have to sign and submit them.
1

Sign every returned transaction

Sign each entry locally with the wallet that sends the transaction — signerAddress, or investorAddress for newInvest and claimTokens. It must be whitelisted by Brickken, and it needs native gas on the target chain.
2

Submit the signed payloads

POST them to /send-transactions as { txId, signedTransactions } and Brickken broadcasts for you.If you would rather broadcast yourself, prepare with executionMode: "client-broadcast" and confirm afterwards with { txId, txHash } instead.
3

Poll until it confirms

Call GET /get-transaction-status with the txId. A pending status means it is broadcast but not yet mined — do not resubmit.
Full walkthrough: Tokenize an asset and run an STO.

Authorizations

x-api-key
string
header
required

Body

application/json
method
enum<string>
default:newInvest
required

Required. Operation to prepare. Must be newInvest for this endpoint.

Available options:
newInvest
Example:

"newInvest"

chainId
string
required

Required. Blockchain network identifier. Hex format is recommended, for example Sepolia aa36a7.

Example:

"aa36a7"

investorAddress
string
required

Required. Investor wallet address. It is used as the signer and sender of the prepared transactions.

Pattern: ^0x[a-fA-F0-9]{40}$
Example:

"0x1111111111111111111111111111111111111111"

investorEmail
string<email>
required

Required. Email of the investor. The investor must already exist in Brickken and be KYC eligible.

Example:

"investor@example.com"

tokenSymbol
string
required

Required. Symbol of the token being offered.

Example:

"EXMPL"

investmentAmount
string
required

Required. Payment-token amount to invest. It must be at least the offering minimum investment.

Example:

"1000"

signerAddress
string

Optional and ignored for this method. The prepared transactions are always signed and sent by investorAddress.

Example:

"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"

paymentTokenSymbol
string

Optional. Symbol of the payment token used for the investment. If omitted, the chain default payment token is used.

Example:

"USDT"

Response

200 - application/json

Successful response

transactions
object[]
required

Array of unsigned transaction objects ready for signing

txId
string
required

Unique identifier for this transaction batch (required for /send-transactions). This is NOT a blockchain transaction hash.

Example:

"0x46adea7bdf49c576a760102e0d6bc9ecd650b3998588cd3d7f576a7973426aad"

info
object

Metadata about the operation