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.
Featured
MCP
Accounts
assets
cash
receivables
user
order
liabilities
payables
restaurant
│ ├order
│ └payout
driver
order
income
platform_fee
Connect your agents to FRAGMENT over MCP and use AI to design your schema.
Handbook
Guides
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.
mutation AddLedgerEntry($ik: SafeString!, $entry: LedgerEntryInput!) {
  addLedgerEntry(ik: $ik, entry: $entry) {
    ... on AddLedgerEntryResult {
      entry {
        created
        posted
      }
      lines {
        amount
      }
    }
    ... on Error {
      code
      message
    }
  }
}