Skip to main content
POST
/
v0
/
wallets
Create Wallet
curl --request POST \
  --url https://api.sumvin.com/v0/wallets/ \
  --header 'Content-Type: application/json' \
  --data '
{
  "method": "<string>",
  "credential_id": "<string>",
  "chain_id": 123,
  "nickname": "<string>"
}
'
{
  "_links": {
    "self": {
      "href": "/v0/wallets/wal-a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"
    },
    "user": {
      "href": "/v0/user/me"
    }
  },
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD78",
  "chain_id": 8453,
  "created_at": 1704067200000,
  "id": "wal-a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
  "is_eoa": true,
  "is_primary": true,
  "nickname": "Main Wallet"
}

Headers

x-juno-orgid
string | null

Tenant org ID for multi-tenant auth

x-sumvin-token
string | null
x-juno-jwt
string | null

Body

application/json
method
string
required
Allowed value: "dynamic"
credential_id
string
required

Dynamic Labs verified credential ID

chain_id
integer
required

Blockchain chain ID

nickname
string | null
Maximum string length: 100

Response

Wallet created successfully

HAL-style hypermedia links for navigation.

id
string
required

Public wallet identifier.

address
string
required

Wallet address (EOA or Safe).

chain_id
integer
required

Blockchain chain ID where this wallet exists.

is_primary
boolean
required

True if this is the user's primary wallet for this type.

is_eoa
boolean
required

True for EOA (Externally Owned Account), false for Safe smart wallet.

created_at
integer
required

Wallet creation timestamp (epoch milliseconds).

nickname
string | null

User-defined friendly name for the wallet.

logo_uri
string | null

URI to the blockchain's logo image.

deleted_at
integer | null

Soft deletion timestamp (epoch milliseconds).

safe_creation_event_id
string | null

Event ID for tracking Safe creation. Only present in 202 Accepted responses when Safe creation is triggered.

cards
CardData · object[] | null

Linked payment cards. Only included when expand=cards is specified.