GET STARTED · OVERVIEW

SFLC documentation

SFLC is the tokenized equity management system and ledger for private companies. This documentation covers the API, smart contracts, compliance architecture, and SDKs you'll use to integrate with the platform.

PROD READY

SFLC is in private beta with select issuers and is SOC 2 Type II certified. Request access via your account team or sales@sflc.xyz.

Quickstart

The SFLC API is REST-based and uses JSON for request and response bodies. Every request is authenticated with an API key passed via a bearer token.

Set your API key:

# sandbox
export SFLC_API_KEY="sk_sandbox_4b71...8f3c"

# production
export SFLC_API_KEY="sk_live_4b71...8f3c"

Hit your first endpoint to verify connectivity:

curl https://api.sflc.xyz/v1/organization \
  -H "Authorization: Bearer $SFLC_API_KEY"

Authentication

API keys are scoped to an organization and a permission set. The platform supports two key types:

TypePrefixUse
Sandboxsk_sandbox_Testing, no real settlement
Livesk_live_Production · billable transfers
Read-onlyrk_live_Reporting · cannot mutate state
Webhook signingwhsec_Verify webhook signatures
SECURITY

Never expose live keys in client code. Rotate keys quarterly and immediately if compromised. Multi-sig admin actions are required for grants, issuances, and rule changes.

Transfers API

Initiate, monitor, and settle programmatic equity transfers between holders.

Create a transfer

POST/v1/transfers
import { SFLC } from "@sflc/sdk";

const sflc = new SFLC({ apiKey: process.env.SFLC_API_KEY });

const transfer = await sflc.transfers.create({
  from: "a.chen.eth",
  to:   "paradigm-fund.eth",
  asset:    "HLN-CMN-A",
  shares:   2500,
  exemption: "144A",
}});

Parameters:

FieldTypeDescription
fromaddressSource wallet or ENS
toaddressDestination wallet · must be on whitelist
assetstringToken class symbol (e.g. HLN-CMN-A)
sharesnumberNumber of tokens to transfer
exemptionenumOne of 144A, 4(a)(7), 506(c), Reg-S
settlementobjectSettlement asset + chain (defaults to USDC/ethereum)

Lifecycle webhooks

Subscribe to lifecycle events to keep your systems in sync with on-chain state. Events fire at every state transition:

  • transfer.created — request accepted
  • transfer.preclear_pending — compliance running
  • transfer.precleared — checks passed, awaiting match
  • transfer.matched — counterparty or pool fill
  • transfer.settled — atomic swap complete
  • transfer.blocked — rule violation, with reason code

Sandbox environment

The sandbox mirrors production but uses synthetic stablecoin and a parallel ledger. Sandbox keys never trigger real settlement and never bill.

  • Sandbox base URL: https://api-sandbox.sflc.xyz
  • Sandbox UI: https://app-sandbox.sflc.xyz
  • Test wallets pre-funded with synthetic USDC
  • Pre-seeded organization with sample cap table
NEXT

Move to the Core concepts → Token classes section to learn how SFLC models equity instruments as programmable smart contracts.