get_profile
Get the authenticated user's account identifier, on/off-ramp KYC keyed by fiat currency, card products, and Picnic security configuration. Sensitive details (name, taxId, birthdate, profile picture, address, phone, raw passkey crypto material) are intentionally omitted.
Required scope: read:profile
Parameters: none.
Returned fields:
| Field | Type | Description |
|---|---|---|
userId | string | Internal Picnic user ID. |
email | string | null | Account email. |
ramps.<currency> | array | List of KYC entries the user has for that fiat on/off-ramp (e.g. ramps.brl, ramps.eur). A currency key only appears if the user has onboarded at least one provider for it; an empty ramps: {} means no fiat onboarding anywhere. Multiple providers may serve the same currency (e.g. both BRLA and Avenia for BRL). |
ramps.<currency>[].provider | string | Underlying provider — brla, avenia, monerium. |
ramps.<currency>[].status | string | Normalized KYC status — one of none, pending, approved, rejected. |
ramps.<currency>[].level | number | Raw provider KYC level (BRLA, Avenia). Present when the provider exposes a numeric level. |
ramps.<currency>[].state | string | Raw Monerium profile state — one of created, pending, approved, rejected, blocked. |
cards | array | List of card products the user has. Empty [] if none. |
cards[].provider | string | Card provider — currently always gnosisPay. |
cards[].status | string | Normalized status — one of none, pending, approved, rejected. |
cards[].raw | string | Raw provider status. For Gnosis Pay, one of: notStarted, documentsRequested, pending, processing, resubmissionRequested, requiresAction, approved, rejected, temporaryRejected, error. |
security.level | number | Picnic security tier — 1 (EOA-only) or 2 (passkey + recovery). The agents-server only admits L2 callers, so this is effectively always 2. |
security.active | boolean | Whether the security config is currently active. |
security.setup.signer | string | Signer kind — typically passkey. |
security.setup.recovery | string | Recovery method — typically magic. |
security.activePasskey.signerAddress | string | EOA address derived from the active passkey, useful for cross-referencing the signer in get_smart_accounts. |
Each subfield under security is omitted when not configured.
Example response:
{
"userId": "...",
"email": "user@example.com",
"ramps": {
"brl": [
{ "provider": "brla", "status": "approved", "level": 2 },
{ "provider": "avenia", "status": "pending", "level": 1 }
],
"eur": [
{ "provider": "monerium", "status": "approved", "state": "approved" }
]
},
"cards": [
{ "provider": "gnosisPay", "status": "approved", "raw": "approved" }
],
"security": { "level": 2, "active": true, "setup": { "signer": "passkey", "recovery": "magic" }, "activePasskey": { "signerAddress": "0x..." } }
}Example prompt:
"What's my Picnic account email, security tier, and which fiat ramps am I KYC'd for?"