Response shape
Regardless of the path, the response fromPOST /intent always includes:
- New customers –
frontendUrl+workflowIdpopulated,transaction=null. - Returning customers –
frontendUrl=null,workflowId=null,transactioncontains deposit instructions.
How GnosisRamp decides
- After collecting requirements it calls every plugin’s
checkRequirementshook. - If none throw errors, the compliance plan is marked
COMPLETEDand onboarding is skipped. executeTransactionruns synchronously, generating deposit instructions immediately.
Client logic
Safeguards
- Each intent can own only one transaction. If you manually call
POST /intent/:intentId/transactionafter auto-complete, you will receive400 Bad Requestwith"Transaction already exists for this intent." - Auto-complete still enforces amount validation, provider capability checks, and dependency graphs — it simply recognises that all checks are already complete.
- If a plugin raises an error in
checkRequirements, GnosisRamp falls back to the onboarding workflow silently.