Get a wallet by id

Read one account by its identifier. You can only read your own account this way — the same answer as `GET /wallets/me`, addressed differently. Anything else comes back as `403`. Requires the `wallets.read` permission.

GET
/wallets/{id}
AuthorizationBearer <token>

The access token returned after a successful sign-in, sent as Authorization: Bearer <access_token>.

It identifies the person and the organization they are working in, and it lasts about fifteen minutes. When it runs out, use their refresh token at POST /auth/refresh-token instead of asking them to sign in again.

In: header

Path Parameters

id*string

Identifier of the wallet to read.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.dual.network/wallets/string"
{
  "id": "665f1c2d4b1a2c3d4e5f6a01",
  "fqdn": "dual.network",
  "email": "alex@example.com",
  "nickname": "alexf",
  "language": "en",
  "activated": true,
  "disabled": false,
  "account": {
    "address": "0x1234567890abcdef1234567890abcdef12345678",
    "type": "SMART_WALLET",
    "controller": {
      "address": "0x9876543210fedcba9876543210fedcba98765432",
      "type": "SECP256K1",
      "custody": "self-custodial"
    },
    "smart_account": {
      "chain_id": 42161,
      "factory": "0x7777777777777777777777777777777777777777",
      "implementation": "0x8888888888888888888888888888888888888888",
      "index": 0,
      "validator": "0x9999999999999999999999999999999999999999",
      "validator_type": "ECDSA",
      "version": "0.3.1"
    }
  },
  "when_created": "2026-02-01T09:00:00Z",
  "when_modified": "2026-02-01T09:00:00Z"
}
{
  "code": 3,
  "message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}

{
  "code": 16,
  "message": "no auth provided"
}

{
  "code": 7,
  "message": "forbidden"
}
{
  "code": 5,
  "message": "object not found"
}
{
  "code": 13,
  "message": "internal error"
}