Codex: A Legal Scripting Language for Ethereum

Contract Types

Member Keywords

with subject:

between roll[subjects]:

for roll[subjects]:

Temporal Keywords

with Bob:

pay 100 on(t + 12).

for roll[workers]:

pay 500 every(t + 7).

with landlord:

pay 800 every(t + 365/12).

for roll[subscribers]:

take 10 every(t + 365/12),

start(t + 365/12),

stop(t + 365).

with consultant:

pay 2000,

if(do[1]: “Evaluate the whole project and write a report.”

do[2]: “The recommendations get approved by the committee.” ):

pay 2000 on(t + do[1]),

pay 1000 on(t + do[2]),

else: exit.

with copyeditor:

if(do not:

“Divulge the plot or tell anyone about the script.”):

pay 800 on(t + 7),

else: take 1600 on(t + do),

exit(t + 730).

Consequential Keywords

for roll[customers]:

take 7.99 every(t + 365/12),

start(365/12),

if(!take[1]):

switch

for roll[subscribers]:

msg.email(“Thank you for subscribing!”),

take 10 every(t + 365/12),

if(!take[1]):

msg.sms(“Please add more to your wallet. We will try again next week.”),

take 10 on(t + 7),

if(!take[2]):

switch,

exit.

else:

continue.

Special Keywords

between roll[club]:

clause[1]:

ballot(do[1]: “This motion will raise the subscription fee to 600 credits per year”),

(do[2]: “This motion will lower the subscription to 400 credits per year”),

if do[1] > do [2]:

take 600 every(t + 365),

else:

take 400 every(t + 365).

clause[2]:

etc. etc.

Conclusion

--

--

A civic network and peer to peer legal system powered by Ethereum. http://pax.directory

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pax

Pax

A civic network and peer to peer legal system powered by Ethereum. http://pax.directory