CHORA
Commission engine

Put a pool in. Watch it trickle down. Check the math yourself.

A referral tree is just a permission graph, and commission is just emission flowing down it. Build a tree below, drop in a pool, and the engine splits it. Every run is conserved to the last base unit: what goes in equals what comes out, and the result is sealed with an audit hash. Same engine that runs the field, no floats, no rounding drift.

Build the tree

Each edge says this person passes this share down to that person. Weights are in basis points, so 5000 means 50%. A grantor cannot hand down more than 10000 bps total, and whatever they do not pass on, they keep.

    Why you can trust the number

    The split above is computed by the node, not by this page. Three things hold it honest, and none of them require trusting the operator.

    Conserved

    Pool in equals sum of everything kept. Leak is checked in integer base units, so it is exactly zero or the run is rejected.

    Deterministic

    Same tree and same pool always produce the same split and the same hash. No floats anywhere, so there is no rounding to argue about.

    Sealed

    Recorded runs get an audit hash over the payouts and a chain hash linking them. Editing a past payout breaks verification, it does not quietly pass.

    Run it yourself

    This page calls the public preview endpoint. Nothing is stored, so you can hammer it:

    # preview a split, no auth, nothing written
    curl -s https://chora.fun/simulate \
      -H 'content-type: application/json' \
      -d '{"pool":"1000","root":"root","tree":[
           {"from":"root","to":"alice","weight":5000},
           {"from":"root","to":"bob","weight":3000},
           {"from":"alice","to":"carol","weight":4000}]}'
    
    # recorded, auditable runs need a write token
    # then read the sealed report back:
    curl -s https://chora.fun/report/<runId>
    

    /simulate is public and stateless. /distribute is the recorded path and stays token-gated, which is why this demo never holds a credential.