Your company’s shares, on-chain. Your rules on every transfer.

Private companies use Selcier to turn their shares into tokens on Robinhood Chain. The company's rules run on each transfer before it can settle, and each issuance, offering and corporate action lands on a record anyone can verify.
$SELCIER - 0xea9bdde9e1b9474da1628c6a529c0d83aaacbbba

8
Rule modules
Holding periods, vesting, regions, eligibility and others
15
Reason codes
One comes back from each check ahead of signing
1
Transaction to deploy
SelcierFactory sets up all of a company's contracts
0
Gas for holders
Covered for investors and employees

Issuer-sponsored. The company behind a Selcier token is always its issuer.

Go from cap table to a live share token in less than four weeks.

In place of spreadsheets and manual transfer review, Selcier gives each class a share token. Token balances then serve as the cap table: reconciled once at onboarding, then kept current by the chain.

  1. 1. Verify

    Registrar

    A company passes verification and picks the share classes it will bring on-chain. It then names a registrar to keep the authoritative cap table, either the company itself or an administrator of its choosing.

  2. 2. Import

    CSV or export

    A CSV or a cap table software export brings in the existing records, which are reconciled line by line. Holders accept an invitation, prove their identity, and either take an embedded wallet or connect one they own.

  3. 3. Configure

    8 modules

    Each share class gets its rules in the Console: regions, eligibility tier, holding periods, holder cap, transfer windows, right of first refusal, maximum ownership and employee vesting. Because rules are modules, they can be changed later with no token upgrade.

  4. 4. Rehearse

    Testnet

    The same configuration goes to Robinhood Chain testnet first. Against it the company tries sample transfers, an offering and a window, and inspects every reason code while mainnet stays untouched.

  5. 5. Deploy

    Mainnet

    In a single transaction, SelcierFactory puts the company's full contract set on mainnet. Working from the reconciled cap table, the registrar mints to each holder, and SharesIssued records the reference for every mint.

  6. 6. Operate

    USDG

    The company now raises through offerings, opens Liquidity Windows, pays distributions, holds votes and anchors disclosures. Each of these starts in the Console and lands as an on-chain transaction.

Issuer-sponsored

  • A token is a share, not a claim on a third party. It holds the economic, information and voting rights of its class.
  • Rules come from the company. It sets them in the Console, and contracts under its control enforce them.
  • Liquidity runs on the company's timing, in windows it schedules or at venues it has expressly approved.

A single ownership record, read from three sides.

Companies work in the Console and holders in Portfolio. The Explorer is open to anyone, and the API gives developers access to all of it. Every surface reads from the same Robinhood Chain contracts.

Console, Portfolio, Explorer and the API. Four ways in, one set of contracts.

Console

For companies

Manage your equity in one place

Boards and finance teams set up share classes and transfer rules, run offerings and Liquidity Windows, and sign off on sensitive actions through a multi-sig that includes the company.

  • Import and reconcile the cap table, then invite holders
  • USDG-escrowed offerings that mint at close or refund
  • Run distributions and votes, and anchor disclosures
  • Reference Valuations that show their source and date

Portfolio

For holders

Hold, buy and sell within the company’s terms

Every position appears by lot, with locked and unlocked shares kept apart. From here holders join offerings, sell in Liquidity Windows, claim distributions, vote and read company documents, all with gas sponsored.

  • Unvested shares displayed next to vested ones
  • Any rule explained in plain words before you sign
  • Identity verified the same day, with an embedded wallet
  • USDG proceeds paid within the sale transaction itself

Explorer and API

For everyone

An open record, plus an interface for builders

Supply, holder count, rules, offerings, windows, valuations and events are all visible in the Explorer for each company, with no personal data. Through the API and SDK, venues and wallets reach those records and the same transfer checks.

  • On-chain links for each issuance, transfer and corporate action
  • Pre-submission transfer checks that return a reason code
  • A signed webhook for each on-chain event
  • Sandbox access on Robinhood Chain testnet

Each surface is covered in depth in the product documentation.

No transfer goes unchecked. No answer comes without a code.

Because the token itself carries the rules, they apply across every wallet, venue and pool on a permissionless chain. Rule-breaking transfers cannot settle, and canTransfer gives the reason ahead of any signature.

  1. 1. Token

    Is the class paused? Does the sender have enough shares that are unlocked and unfrozen?

    • TOKEN_PAUSED
    • INSUFFICIENT_UNLOCKED_BALANCE
    • FROZEN
  2. 2. Identity

    On the company's registry, does each wallet map to a verified identity whose claims have not expired?

    • SENDER_NOT_VERIFIED
    • RECIPIENT_NOT_VERIFIED
    • CLAIM_EXPIRED
  3. 3. Modules

    The modules the company enabled run one after another. When all of them pass, the result is OK and the transfer settles.

    • 8 module codes
    • OK
  • RegionModuleREGION_BLOCKED

    Admits or bars holders by region, from a country allow-list or block-list.

  • EligibilityModuleNOT_ELIGIBLE

    Accepts a recipient only with a valid eligibility claim at the class's tier or higher.

  • HoldingPeriodModuleHOLDING_PERIOD_ACTIVE

    Keeps every lot locked for a set period from acquisition. The oldest lots are used first.

  • HolderCapModuleHOLDER_CAP_REACHED

    Caps how many distinct holders the class can have.

  • TransferWindowModuleWINDOW_CLOSED

    Permits transfers solely within company-scheduled windows.

  • ROFRModuleROFR_PENDING

    Grants the company first refusal, and the right is exercised on-chain.

  • MaxOwnershipModuleMAX_OWNERSHIP_EXCEEDED

    Limits how much of the class one holder can own.

  • EmployeeVestingModuleUNVESTED

    Holds unvested employee shares locked until the schedule releases them.

Each share class has its own module configuration, and swapping a module needs no token upgrade. Any addition or removal waits out a 24 hour timelock.

Identity held as signed claims, personal data kept off-chain.

An IdentityRegistry per company links wallets to an on-chain identity. Verifiers the company trusts sign the claims on that identity, and every claim has a topic, a value and an expiry. Names, documents and contact details remain with the verifier, off-chain.

  1. IDENTITY_VERIFIED

    Shows the holder cleared identity verification. It has an expiry.

  2. INVESTOR_ELIGIBLE

    States the holder's eligibility tier, attested by a trusted verifier.

  3. REGION

    Holds the ISO 3166 country code that RegionModule reads.

  4. EMPLOYEE_OF

    Names the holder's employer, for vesting and employee windows.

  5. SCREENED

    Dates the holder's latest screening. A failed re-screen revokes it automatically.

  6. VENUE

    Identifies a pool or venue contract approved to hold shares.

Raises and sales run on a calendar the company sets.

Liquidity stays under the company's control instead of arriving unplanned. All four mechanisms settle delivery versus payment in USDG, so shares and stablecoins move together in one transaction or not at all.

Offerings

OfferingVault

Price per share, minimum and maximum raise, minimum ticket and dates are all set by the company. Subscriptions arrive in USDG and wait in escrow. Close either mints shares and releases funds in one transaction or refunds every investor.

Liquidity Windows

LiquidityWindow

These are sales for a fixed period, on dates the company picks. Shares from sellers and USDG from eligible buyers are locked, and a single uniform price clears the window. If ROFR is on, the company holds a priority bid at that price ahead of settlement. Fixed-price tenders follow the same pattern.

RFQ

RFQSettlement

Between windows, eligible holders trade on signed EIP-712 quotes. Fills happen on-chain with canTransfer run on both sides, and the company may limit RFQ to its transfer windows.

Permissioned pools

PoolGate

An opted-in company can list a class on an AMM pool. Every swap and liquidity change passes through canTransfer at PoolGate, which leaves trading and liquidity provision to eligible holders alone.

One clearing price for eight orders.

Here a Liquidity Window runs on LKW-B, an illustrative Series B Preferred class for the sample company Larkway Labs. Once it closes, any caller can run clear(windowId). The contract settles on the one price that matches the most shares, resolving ties toward the last Reference Valuation, and fills by price priority with pro-rata at the margin. Whatever stays unmatched is released.

Asks

Sellers lock shares

IDSharesLimitFilled
  • A14,00021.004,000
  • A26,00023.006,000
  • A35,00024.005,000
  • A43,00026.000

Bids

Buyers lock USDG

IDSharesLimitFilled
  • B15,00026.005,000
  • B24,00024.504,000
  • B38,00024.006,000
  • B44,00022.000

Cleared

WindowCleared

24.00 USDG

Buyers and sellers alike fill at the same price

Shares matched
15,000
Settled to sellers
360,000 USDG
B3, the marginal bid
6,000 of 8,000
Prior Reference Valuation
22.50

That price then becomes the latest Reference Valuation, published with source WINDOW_CLEARING.

The issuer is the company. Everything downstream follows from that.

Private company equity usually changes hands in one of two ways: by hand against off-chain records, or through tokens that third parties create without the company. Selcier offers the issuer-sponsored alternative.

  • Issuer
    Manual:The company, using spreadsheets and cap table tools
    Wrapper:An outside party, with no company involvement
    The company directly, through contracts under its control
  • What you hold
    Manual:An entry in a ledger kept by someone else
    Wrapper:A price-tracking claim on the wrapper
    The share itself, plus its class's rights
  • Transfer rules
    Manual:Weeks of review by hand
    Wrapper:Region gating, if anything
    Each transfer checked against eight modules, with a reason code
  • Liquidity
    Manual:Bilateral deals and the odd tender offer
    Wrapper:Always on, yet beyond the company's control
    Windows, RFQ and pools, scheduled and approved by the company
  • Pricing
    Manual:Rarely shared, difficult to benchmark
    Wrapper:A price signal outside the company's hands
    Public clearing prices, plus Reference Valuations showing source and date
  • Corporate actions
    Manual:Manual updates after the paperwork
    Wrapper:Roughly mirrored, if ever
    On-chain transactions for splits, distributions, votes and conversions
  • The record
    Manual:Scattered and private
    Wrapper:Price data only
    Issuances and transfers all on-chain, with identities private

Without the issuer, nothing gets tokenized on Selcier. A token's issuer is always the company behind it.

Built where stock tokens are already at home.

Wallets, pools and oracles on Robinhood Chain already understand the conventions it set. Selcier tokens observe all of them and layer on identity-gated transfers and issuer governance. As a company, Selcier is independent, and it is built on Robinhood Chain.

A familiar ERC-20, plus permissions

One Selcier Share Token represents each share class: an ERC-20 of 18 decimals with ERC-3643-compatible permissioned transfers and the ERC-8056 multiplier. To wallets and indexers on the chain, it reads as one more stock token.

Valuations through a Chainlink-compatible oracle

Each Reference Valuation goes on-chain through ValuationOracle, which answers latestRoundData as an AggregatorV3 feed would. For the source, the date and the supporting document's hash, call latestValuation.

Corporate actions with no rebase

A split updates the ERC-8056 uiMultiplier once a 48 hour timelock has passed. Because raw balances stay fixed, pools and integrations run straight through the event, while the oracle pauses across it.

Permissioned pools alongside AMMs

AMMs and stablecoin rails are already running on the chain. Any company that opts in can place a class in a pool behind PoolGate, which applies that class's rules to every swap.

Account abstraction, with embedded wallets

Onboarding gives incoming holders an embedded wallet, and EVM wallets they already use connect unchanged. Because Selcier relays transactions, neither investors nor employees ever need ETH.

Affordable rule checks on every transfer

A full rule check per transfer stays economical thanks to low fees and sub-second soft confirmation, while settlement inherits Ethereum security.

Stack
Arbitrum
Settles to
Ethereum
Gas
ETH, sponsored
Settlement asset
USDG

The events are open to anyone. The identities are not.

The public record reaches the Explorer directly from Robinhood Chain. With personal data kept off-chain, the whole record can stay public and holders can stay private.

Public, on-chain

  • Each share class's total supply and holder count
  • All mints, burns, transfers, freezes, recoveries and pauses
  • Terms and progress of offerings, plus window clearing prices
  • A history of corporate actions and multipliers
  • How each class configures its rule modules
  • The hash of each anchored document

Private, access-controlled

  • Names and contact details of holders
  • Identity verification documents
  • The identified full cap table, seen only by the issuer
  • Financial statements, for verified holders only
  • Contents of documents the company has not made public
  • Individual claim details

An event for each state change

Supply cannot change quietly. Mints, burns, recoveries, freezes and pauses each carry a reference, and every event is indexed by the Explorer and the API with its block and transaction.

  • SharesIssued
  • Transfer
  • ModuleConfigured
  • OfferingClosed
  • WindowCleared
  • QuoteFilled
  • DistributionFunded
  • ProposalFinalized
  • DocumentAnchored
  • ValuationPublished
  • RecoveryScheduled
  • Paused

Hash-anchored disclosures

For each document the company publishes, DisclosureRegistry stores its kind, hash and location. Verified holders read the contents in Portfolio, and anyone can prove a document is unchanged since anchoring.

  • SHARE_CLASS_TERMS
  • OFFERING_DOCUMENT
  • FINANCIAL_STATEMENT
  • COMPANY_UPDATE
  • BOARD_RESOLUTION
  • VALUATION_REPORT

Test any transfer ahead of sending. In any app.

One integration of the rule engine serves a venue or wallet for every company on Selcier. On-chain, through the API and in the SDK, canTransfer gives the same answer.

check-transfer.ts@selcier/sdk
$ npm install @selcier/sdk

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

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

const check = await selcier.transfers.check({
  share_class: "cls_nwl_series_b",
  from: "0x71c3a0d5f1b84e2c9a07d36b5e8f12c4d0a39e4a",
  to: "0x4e8817b3a9c25d06e4f71b8a2d93c5e6f048c0b1",
  amount: "500",
});

// {
//   ok: false,
//   reason_code: "NOT_ELIGIBLE",
//   message: "The recipient does not meet the eligibility tier for this share class."
// }

Webhook events

  • share_class.deployed
  • holder.verified
  • transfer.settled
  • transfer.blocked
  • offering.closed
  • liquidity_window.cleared
  • A TypeScript SDK and REST API

    Endpoints cover companies, share classes, holders, offerings, windows, distributions, proposals, documents and valuations, in JSON with cursor pagination. Every POST takes an Idempotency-Key.

  • Signed webhooks

    Each on-chain event arrives with its block number, transaction hash and confirmation depth. Deliveries are HMAC-SHA256 signed and retried for three days.

  • Testnet sandbox

    Using sk_test_ keys, you work on Robinhood Chain testnet, where contracts and reason codes match mainnet.

  • Client-side publishable keys

    A browser or wallet can use pk_live_ keys directly for read-only endpoints, including transfer checks and public Explorer data.

Sensitive actions wait in plain view, with the company signing.

Roles stay separate, the issuer signs on the timelocked multi-sig that sensitive actions pass through, and a pause always publishes its reason. Every deployment first runs on testnet with the identical configuration.

Recovery
72 h
Minimum 48 hours
Multiplier change
48 h
Forward and reverse splits
Module change
24 h
Adding or removing a rule
Token upgrade
7 days
UUPS, via IssuerTimelock
Pause
Immediate
No delay to unpause

These are defaults. A company may adjust its timelocks inside fixed bounds.

Roles

  • ISSUER_ADMINCompany multi-sig

    Sets up modules, offerings, windows, distributions and votes.

  • REGISTRARRegistrar

    Approves recoveries, and mints and burns against cap table records.

  • OPERATORSelcier relayers

    Sponsors and submits transactions, but cannot move holder tokens alone.

  • PAUSERIssuer and registrar

    Can pause a share class, with an on-chain reason, and unpause it.

To report a vulnerability, write to security@selcier.xyz.

Recovery, not custody

  1. 1

    Lost wallet reported

    After reporting the lost wallet, the holder repeats identity verification with a trusted verifier.

  2. 2

    Approval from two of three

    The replacement wallet needs approval from two of ISSUER_ADMIN, REGISTRAR and OPERATOR. One party acting alone cannot complete it.

  3. 3

    Scheduled in public

    RecoveryScheduled

    On-chain scheduling reveals the execution time, letting the holder and any observer see the recovery ahead of time.

  4. 4

    Timelock runs

    RecoveryCancelled

    By default the balance is frozen for 72 hours. During that time, a mistaken or contested recovery can be cancelled.

  5. 5

    Executed

    RecoveryExecuted

    The replacement wallet receives the entire balance, and lots and holding periods carry over.

Put your cap table on-chain. The rules stay with you.

Share the details of your company and the classes you plan to issue. Our team will guide yours through the Console, rehearse your configuration on testnet, and deploy on your timing.

Less than four weeks to onboard · hello@selcier.xyz