Authentication & permissions
Wallet sign-in, account-owned MCP keys, OAuth PKCE and the boundaries of each permission.
Your wallet is your sign-in
Choose MetaMask, Phantom or another compatible installed EVM wallet. Ultron uses that wallet on Robinhood Chain 4663. A personal_sign message proves ownership of your 0x wallet address. It does not authorize an on-chain transaction, trade, spending approval or private brokerage access.
Challenges are single-use, bound to the site origin, address and chain 4663, and expire after five minutes. Sessions use Secure, HttpOnly, host-only cookies in production. Browser mutations require the correct origin and CSRF token.
Scoped permissions
chain:read allows research tools and account-owned reads. monitors:write allows intentional watch, preference, evidence-import and research-proposal operations. Neither scope authorizes trading.
connections:write permits provider-key management through the secure embedded form. research:approve permits reviewed paid research requests through the embedded workspace. An authenticated website session provides a fallback. Account ownership is enforced in database queries; knowing another request ID is not access.
connections:write separately permits provider-key management in the embedded Ultron form. This permission is not implied by chain:read or monitors:write.
OAuth and lifecycle
Remote clients use authorization-code OAuth with PKCE S256 and registered redirects. Access keys expire after 30 days and website sessions after seven days. Newly approved OAuth connections receive rotating refresh tokens and can renew access for up to 90 days. Each refresh replaces the prior tokens; replay revokes the connection. Existing connections need one reconnect to receive refresh tokens, and the AI client must support renewal.
Revoke an access key or delete your account from the workspace. Disconnect provider credentials from Connections. Deletion removes account-owned records; it cannot delete public blockchain records or recall a third-party request already accepted.
