The more I looked at
@NewtonProtocol task model, the more I felt the challenge isn't the optional field itself—it's knowing when that field stops being optional.
A few ideas came to mind that could make integrations a lot smoother.
Runtime policy discovery
Instead of relying on documentation, let applications ask the platform what a policy requires before creating a task.
Imagine calling something like:
Newt_get Policy Requirements policy Id
and getting back:
Requires Signature true, "SignatureType" EIP712
That way, the client knows upfront whether it needs to collect a signature instead of discovering it after a failed request.
Better Gateway errors
If the Gateway rejects an empty 0x signature before Rego evaluation, the error should make that obvious.
Something like
INVALID_INTENT_SIGNATURE_FORMAT is much more useful than a generic decoding or validation error because it immediately tells the developer what needs to be fixed.
Context-specific request models
Another option would be to model signed and unsigned task flows separately.
Rather than one request where intent_signature is always marked as optional, define different request types based on the execution flow. If a request targets a signed policy, the schema itself can require a valid 65-byte EIP-712 signature. If it targets an unsigned flow, that field isn't expected at all.
None of these ideas remove the flexibility of a shared endpoint.
They simply move policy requirements from being something developers discover through failed requests to something they can understand before they hit Submit.
Curious how others think about this.
Would you rather keep a generic RPC with runtime policy discovery, or make the request schema itself reflect the requirements of each execution flow?
@NewtonProtocol $VANRY $RPL $LAB #BitcoinFallsOver50%FromOctoberHigh #GoldETF #downfallnear #YenHitsFourDecadeLowVsDollar #GoldHoldsDecline