Grants
A grant is a record in your ledger: who it is for, which work, for how long, with a terms file attached. Whoever receives it can verify it on their own.
Issuing a grant
- Open “Grant” and press “New grant”, or press “Grant to someone” on a record’s detail page.
- Fill in the grantee: the other side’s
0x…address. “Recent addresses” beside it lists addresses you have used. - Press “Choose a record”, search or filter by date in the dialog, and click a row to pick a work that is on chain; records you cannot grant are greyed out with the reason.
- Drop in the terms file and choose the validity: 7, 30 or 90 days, or Custom. The period counts from the chain’s present moment: the app reads the latest block’s time when the page opens. With Custom, click the start date tile to pick the day on a calendar, fill in the hour and minute, then the length in days, hours and minutes; the end follows from the two and shows on the date tile at the right. You can also click that right tile and pick the end day on a calendar, and the length is worked out for you.
- Press “Confirm” at the bottom of the page, press “Add to ledger” on the confirmation card, then put it on chain as with a record.
What the terms say
The ledger records the address, the work, the period and the terms file’s fingerprint. Whether the grant is exclusive, where the work may be used, the price and what happens on breach all go in the terms file. When the grantee recomputes the terms file’s fingerprint and it matches the one in the grant, they know it is the very file attached at signing.
Sending it
On the grant’s detail page, pick one way to send it:
- Grant file
- Press “Export grant file”, choose where to save it on the card, and press “Export grant file” there for a
.zkgrantfile. It carries your ledger, so the grantee can run the full check. This is the one to prefer. - Grant code
- Press “Copy grant code” for a line of text starting with
zikaron-grant:, easy to paste into a chat. It lets the grantee check the signature and the validity.
Revoking
Press “Revoke grant” at the bottom of the grant’s detail page, confirm, and put it on chain as well. A revocation is final, and every grant passed on from this one ends with it.
Receiving a grant
As a User, open “My grants”, press “Add grant”, paste the grant code or drop in the grant file, and press “Verify and add”. Each grant has a row showing its verdict:
| Verdict | Meaning |
|---|---|
| All passed | All six checks passed; you can rely on it |
| Has gaps | Some checks have not come through: confirmation on chain is pending, or the issuer’s ledger is missing (when you added a grant code alone). Check again later, or ask for the grant file |
| Failed | A check found a problem |
| Revoked by issuer | The issuer has revoked the grant |
The app re-verifies the whole collection on its own from time to time. When a grant is about to expire, gets revoked, or its issuer hands the ledger to a new key, the Alerts page tells you.
Credentials
To show a grant to your customers, open it in “My grants” and press “Create credential”, then “Create credential” again on the card, for a line of text and a QR code. Anyone can paste the text into Verify › Verify grant to check it.
Sublicensing
A grant that passed all six checks has “Sublicense to others” on its detail page, for granting it on to someone else. The sublicense goes into your own ledger and ends when the upstream grant expires or is revoked, so set its validity within the upstream’s.