Policy Development
Gateway simulation succeeds
Run
newt_simulateTask with realistic intent parameters and verify the response includes a valid attestation.On-Chain Deployment
PolicyClient contract deployed
Deploy your contract that inherits
NewtonPolicyClient. Verify it compiles with Solidity ^0.8.x and the correct foundry remappings.API & Secrets
API key created with correct permissions
Verify your key has
rpc_read for task submission and simulation, rpc_write if you need to manage secrets. See Dashboard & API Keys.Encrypted secrets stored (if applicable)
If your oracle requires API keys, store them via
newt_storeEncryptedSecrets. Verify with newt_simulatePolicyDataWithClient. See Encrypting Secrets.Frontend Integration
SDK installed and configured
newtonPublicClientActions and newtonWalletClientActions are properly extended on your viem clients.Environment variables set
NEWTON_API_KEY— your Gateway API keyNEWTON_GATEWAY_URL— the correct Gateway URL for your environment- PolicyClient address for your target chain
End-to-end flow verified
- Submit an evaluation via
evaluateIntentDirectorsubmitEvaluationRequest - Receive attestation
- Execute the attested transaction on-chain
- Verify the transaction succeeds
Error handling implemented
Handle all SDK error codes:
TASK_TIMEOUT, POLICY_NOT_FOUND, ATTESTATION_EXPIRED, UNAUTHORIZED. See Error Reference.Security
- PolicyClient ownership verified on-chain (not just in your local config)
- API keys stored in environment variables, never committed to source control
- WASM oracle does not log or expose secrets
- Attestation expiration is checked before on-chain submission
- Challenge window (100 blocks) is accounted for in your UX
- Contract uses
_validateAttestationor_validateAttestationDirectcorrectly - Intent fields (
from,to,value,data,chainId) are validated before submission
Pre-Launch Verification
Next Steps
FAQ & Troubleshooting
Common questions and error solutions
Contract Addresses
Deployed contracts on all networks