Lemon Cash · Authentication Profile
Lemon Cash Authentication
Authentication
Lemon Cash secures its APIs with siwe across 1 declared security scheme, as derived from its OpenAPI definitions.
CompanyCryptocurrencyDigital WalletFintechPaymentsBankingBlockchainWeb3ArgentinaLatin AmericaMini AppsSDK
Methods: siwe
Schemes: 1
OAuth flows:
API key in:
Security Schemes
authenticate siwe
Source
Authentication Profile
generated: '2026-08-04'
method: searched
source: https://lemoncash.mintlify.app/functions/authenticate
docs: https://lemoncash.mintlify.app/functions/authenticate
note: >-
Derived mechanically from OpenAPI securitySchemes was not possible — Lemon Cash
publishes no OpenAPI. The auth model below is captured verbatim from the Mini App
SDK documentation, which is the provider's only public developer contract.
summary:
types: [siwe]
standard: EIP-4361 Sign-In with Ethereum
api_key_in: []
oauth2_flows: []
bearer_tokens: false
api_keys: false
schemes:
- name: authenticate
type: siwe
standard: https://eips.ethereum.org/EIPS/eip-4361
transport: react-native-webview postMessage bridge
sdk_function: authenticate
sources: [https://lemoncash.mintlify.app/functions/authenticate]
description: >-
The only supported authentication method for a Lemon Mini App. Presents the
Mini App's Terms & Conditions, Privacy Policy and requested claims to the user
inside the Lemon Cash app, then signs a SIWE message with the user's wallet and
returns the wallet address, granted claims, signature and signed message.
parameters:
- {name: chainId, type: ChainId, required: true, description: EIP-155 chain id the authentication is bound to}
- {name: nonce, type: string, required: false, description: 'Anti-replay nonce; must be at least 8 alphanumeric characters and generated server-side, one per attempt'}
- {name: requirements.claims, type: 'ClaimKey[]', required: false, description: Claims requested from the user at consent time}
returns:
- {field: wallet, type: string, description: The authenticated user's wallet address}
- {field: grantedClaims, type: 'MiniAppGrantedClaim[]', description: Key/value pairs for the claims the user granted}
- {field: signature, type: string, description: SIWE signature proving wallet ownership}
- {field: message, type: string, description: The SIWE message that was signed}
contract_wallets:
erc6492: true
note: >-
Supports ERC-6492 so a user can authenticate before their smart-contract
wallet is deployed; the wallet is deployed on the user's first transaction.
rules:
- Call authenticate as soon as the user enters the Mini App, before deposit, withdraw,
transferMoney or callSmartContract.
- Call authenticate on every entry so the wallet address is always fresh; re-trigger
when the user switches chains.
- Generate the nonce in your backend, store it with an expiry and a used flag, and
verify it matches the nonce inside the signed message before trusting the signature.
- Verify the SIWE signature server-side (the docs use viem verifySiweMessage, which
supports ERC-6492 contract wallets).
consent_claims:
model: user-granted claims requested at authentication time
docs: https://lemoncash.mintlify.app/types/types#claim-keys
claims:
- {key: NAME, description: The user's first name}
- {key: LAST_NAME, description: The user's last name}
- {key: EMAIL, description: The user's email address}
- {key: IS_PEP, description: 'Whether the user is a Politically Exposed Person; Argentina only'}
- {key: LEMONTAG, description: The user's Lemon Cash tag (username)}
- {key: OPERATION_COUNTRY, description: The country where the user operates}
oauth2: false
oauth2_note: >-
No OAuth 2.0 or OpenID Connect surface. /.well-known/oauth-authorization-server and
/.well-known/openid-configuration both return 404 on lemon.me, so no scopes/
artifact was written — the ClaimKey set above is the consent surface instead.
x-evidence:
fetched: '2026-08-04'
urls:
- {url: 'https://lemoncash.mintlify.app/functions/authenticate', http_status: 200}
- {url: 'https://lemoncash.mintlify.app/types/types', http_status: 200}
- {url: 'https://lemon.me/.well-known/openid-configuration', http_status: 404}
- {url: 'https://lemon.me/.well-known/oauth-authorization-server', http_status: 404}