Get Onboarding Safe
Authorizations
JWT issued by Dynamic Labs or Privy. Sent in the x-juno-jwt header on every authenticated request.
Headers
Tenant org ID for multi-tenant auth
Controls how timestamp fields are serialized in JSON response bodies.
Default (header omitted or any other value): epoch milliseconds as integers.
iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.
Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".
Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.
Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.
"iso8601"
Response
Current Safe-onboarding state for the authenticated user.
Response for GET/POST /v0/user/me/onboarding/safe.
The mode field selects which Safe-onboarding flow applies to the
user. The config field always carries the cohort-specific data
the client needs to render or complete the step — its shape matches
mode (clients switch once on config.mode and read inner
fields, which may be null when no work is currently prepared). The
wallet field is populated once the Safe has been persisted; null
otherwise.
HAL-style hypermedia links for navigation and available actions.
Which Safe-onboarding flow applies. 'user_signed_deploy' when the user signs the deploy UserOp; 'byo' when the user submits an existing Safe address; 'agent_create2' when the agent signer workflow handles deployment.
user_signed_deploy, byo, agent_create2 Cohort config for a user signing a CREATE2 deploy UserOp themselves.
The chain ID is the user's onboarding-selected primary chain; null when
the user has not yet selected one (e.g., partway through onboarding
before chain selection is persisted). The envelope fields (predicted
Safe address, prepared UserOp, paymaster sponsorship) are populated
only after the server has prepared a fresh sponsored UserOp; they are
null when no work is currently prepared (e.g., before the user reaches
the step or while a previous prepare is still in flight). The
signature field on user_operation is empty — clients sign and
re-submit.
- UserSignedDeployData
- BYOConfigData
- AgentCreate2ConfigData
True when the user still needs to act on this step. False once the step is completed, skipped, or does not apply to this user.
Status of this onboarding step.
completed, submitted, current, pending, skipped Persisted Safe wallet. Populated once the wallet row exists (PENDING for user-signed-deploy after submit; COMPLETED for BYO; set by the signer workflow for agent_create2). Null otherwise.
Chain ID on which the Safe must reside. Null when the user has not yet selected a primary chain (e.g., partway through onboarding before chain selection is persisted).