def deposit(methods=["GET", "OPTIONS"]):
        if request.method == "OPTIONS":
            return jsonify({}), 200
        try:
            # authentication
            token, user = Helper.user_authentication()
            if token and user == None:
                return Helper.abort(401, "Unauthorized", base="Invalid credentials")

            # request
            uuid = request.args.get('uuid', None)
            if uuid == None:
                return Helper.abort(400, "Bad Request", base="Unknown Deposit request")

            deposit = Deposit.find_deposit(uuid=uuid, user=user)
            if deposit == None:
                return Helper.abort(404, "Not Found", base="Deposit not found")
            resp = Response(deposit.to_json())
            resp.code = 200
            if user:
                resp.headers['X-Token'] = "B2SHARE " + user.get_token()
            return resp
        except:
            return Helper.abort(500, "Internal Server Error", base="Internal Server Error")