/ledger

πŸ› A scriptable financial ledger, designed to make it easy to model complex financial transactions

Primary LanguageGoMIT LicenseMIT

Numary Ledger test goreportcard discord

Numary GitHub Header Illustration Monochrome

Numary is a programmable financial ledger that provides a foundation for money-moving applications. The ledger provides atomic multi-postings transactions and is programmable in Numscript, a built-in language dedicated to money movements. It will shine for apps that require a lot of custom, money-moving code, e.g:

  • E-commerce with complex payments flows, payments splitting, such as marketplaces
  • Company-issued currencies systems, e.g. Twitch Bits
  • In-game currencies, inventories and trading systems, e.g. Fortnite V-Bucks
  • Payment gateways using non-standard assets, e.g. learning credits
  • Local currencies and complementary finance

Getting started

Numary works as a standalone binary, the latest of which can be downloaded from the releases page. You can move the binary to any executable path, such as to /usr/local/bin. Installations using brew, apt, yum or docker are also available.

numary server start

# Submit a first transaction
echo "
send [USD/2 599] (
  source = @world
  destination = @payments:001
)

send [USD/2 599] (
  source = @payments:001
  destination = @rides:0234
)

send [USD/2 599] (
  source = @rides:0234
  destination = {
    85/100 to @drivers:042
    15/100 to @platform:fees
  }
)
" > example.num

numary exec quickstart example.num

# Get the balances of drivers:042
curl -X GET http://localhost:3068/quickstart/accounts/drivers:042

# List transactions
curl -X GET http://localhost:3068/quickstart/transactions

Documentation

You can find the complete Numary documentation at docs.numary.com

Dashboard

control-screenshot

A simple dashboard is built in the ledger binary, to make it easier to visualize transactions. It can be started with:

numary ui

Or by heading to control.numary.com

Roadmap & Community

We keep an open roadmap of the upcoming releases and features here.

If you need help, want to show us what you built or just hang out and chat about ledgers you are more than welcome on our Discord - looking forward to see you there!

Frame 1 (2)

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Alix Bott

πŸ’»

Maxence Maireaux

πŸš‡ πŸ“¦ πŸ’»

Henry Jackson

πŸ’»

Matias Insaurralde

πŸ’» πŸ‘€

David barinas

πŸ’»

David Jimenez

πŸ’»

ClΓ©ment SalaΓΌn

πŸ€”

Karmanyaah Malhotra

πŸ““

This project follows the all-contributors specification. Contributions of any kind welcome!