KeelsonDocs
    Judge Mode

    API reference Mandates

    Proof that a registered user signed a mandate

    GET/v1/anonymous-mandates/{mandateHash}

    The C3 anonymous_mandate zero-knowledge proof of the mandate whose passkey challenge is mandateHash, the mandateHash of its countersigns: a passkey in Keelson's registered-user tree signed it, and the mandate's commitment names that passkey. It shows neither the user nor the key, so it needs no authentication. Verify it with bb.js against the C3 key or with eth_call on verifier, and check that user_set_root is published in the RegisteredUserSet contract, as verifyAnonymousMandate in @keelson/alibi/verify does.

    Path parameters

    mandateHashstringRequired

    Responses

    • 200The proof
    • 404No proof for this mandate yet

    200 response

    mandate_hashstringRequired
    The passkey challenge M the user signed.
    mandate_commitmentstringRequired
    C_m, the commitment the mandate names.
    user_set_rootstringRequired
    The registered-user tree the signer is a leaf of when the proof was made.
    proofstringRequired
    The UltraHonk proof bytes, standard base64.
    public_inputsarray of stringRequired
    C_m, M mod r, user_set_root, SHA-256("keelson.finance"): the calldata of verify(bytes,bytes32[]).
    verifierobject
    The deployed verifier that accepts the proof in an eth_call. It checks the proof only: public_inputs must also be the countersign's C_m and M, Keelson's RP ID hash, and a root published in RegisteredUserSet, whose verify checks all of it.