FRAGMENT is a toolkit for building products that move and track money. It includes an API and Dashboard for designing, implementing, and operating your Ledger.
How it works
Model
fund_transfer
AccountAmount
assets/bank/checking
{{amount}}
liabilities/payable/vendor
{{vendor_pay}}
income/service-revenue
{{revenue}}
Add+
user_payment
AccountAmount
assets/receivables/user
{{pay_amount}}
liabilities/escrow/hold
{{pay_amount}}
assets/cash/operating
{{fee}}
Add+
vendor_payout
AccountAmount
expense/payouts/vendor
{{payout}}
assets/cash/operating
{{payout}}
expense/fees/processing
{{proc_fee}}
Add+

Your product as a double entry chart of accounts.
Write
TypeScript
1await fragment.addLedgerEntry({
2 ik: "some-ik",
3 ledgerIk: "your-ledger-ik",
4 type: "user_funds_account",
5 parameters: {
6 user_id: "user-1",
7 funding_amount: "10000",
8 },
9});
Ledger entries for every event in your funds flow.
Read
getBalance()
Available
0
1
2
3
4
5
6
7
8
9
Balances directly from FRAGMENT.
Featured
MCP
Accounts
Assets
Cash
Receivables
Inventory
Liabilities
User balances
Payables
Deferred revenue
Income
Platform fees
Subscriptions
Expenses
Salaries
Marketing
Connect your agents to FRAGMENT over MCP and use AI to design your schema.
Documentation
mutation AddLedgerEntry($ik: SafeString!, $entry: LedgerEntryInput!) {
  addLedgerEntry(ik: $ik, entry: $entry) {
    ... on AddLedgerEntryResult {
      entry {
        created
        posted
      }
      lines {
        amount
      }
    }
    ... on Error {
      code
      message
    }
  }
}
EngineerNew York, NY
DesignerRemote