Numary is a programmable financial ledger that wants to make building financial apps safe, fun and cheap.
Building financial software is both critical and notably hard. The same bugs are repeated again and again, paving the highway to catastrophes.
Numary wants to tackle this issue with a ledger that 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-touching code such as:
- 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
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
.
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
You can find the complete Numary documentation at docs.numary.com
A simple dashboard is built in the ledger binary, to make it easier to visualize transactions. It can be started with:
numary ui
Please note that is currently in Alpha for a few weeks. The goal of the Alpha is to start taking early feedback from the community.
During the Alpha,
- Breaking changes can happen between releases
- Critical bugs can be discovered
- Documentation will be incomplete
Beyond Alpha, the roadmap is:
- Alpha: Feedback & Refining
- Beta: Stabilizing
- RC: API Freeze
- 1.0.0: 🎉