Skip to content
LogoLogo

Accounts

Accounts linking a user to a signer, plus share import and migration metadata.

List accounts of a user.

GET/v2/accounts

Returns a list of accounts for the given user.

This object represents a user's account, which is a blockchain smart account or EOA that can be used to interact with the blockchain.

The accounts are returned sorted by creation date, with the most recently created accounts appearing first.

Returns the latest 10 transaction intents for each account.

By default, a maximum of 10 accounts are shown per page.

Query Parameters

limit
integer <int32>·min 1

Specifies the maximum number of records to return.

skip
integer <int32>·min 0

Specifies the offset for the first records to return.

order
string

Specifies the order in which to sort the results.

Values
ascdesc
chainId
integer <int32>

The chain ID. Must be a supported chain.

user
string

Specifies the unique user ID (starts with pla_)

chainType
string

The chain type. Must be either "EVM" or "SVM".

accountType
string

Specifies the type of account. Must be either "Smart Account" or "Externally Owned Account".

address
string

Specifies the account address

Header Parameters

X-Auth-Provider
string·max 64

Selects how the bearer token is validated. Omit it to use the default provider, which verifies the token against the auth service's JWKS.

Examplegoogle

Responses

401Error response.
429Too Many Requests - per-user rate limit exceeded. Retry after the interval in the Retry-After header.

Get the signer for an account

GET/v2/accounts/signer

Returns the signer ID associated with an account at the given address for the authenticated user.

Query Parameters

addressRequired
string

The blockchain address of the account.

Header Parameters

X-Auth-Provider
string·max 64

Selects how the bearer token is validated. Omit it to use the default provider, which verifies the token against the auth service's JWKS.

Examplegoogle

Responses

400Account not found or missing address parameter.
401Error response - Unauthorized
429Too Many Requests - per-user rate limit exceeded. Retry after the interval in the Retry-After header.

Import a key share from an external source

POST/v2/accounts/import-share

Imports a key share during migration from another system. Creates a new account, signer, and device, and records migration metadata. Returns 409 Conflict if an account already exists at the given address.

Header Parameters

X-Auth-Provider
string·max 64

Selects how the bearer token is validated. Omit it to use the default provider, which verifies the token against the auth service's JWKS.

Examplegoogle

Request Body

application/json
id
string

Account ID to assign (generated if omitted)

Exampleacc_6f6c9067-89fa-4fc8-ac72-c242a268c584
wallet
string

Wallet identifier from the source system

Examplewal_a1b2c3d4-5678-90ab-cdef-1234567890ab
accountType
string

Type of account (Smart Account or Externally Owned Account)

ExampleSmart Account
addressRequired
string

Blockchain address of the account

Example0xf7b4c54cca21cccf42796502bf94e2838fbd44c4
ownerAddress
string

Owner EOA address (required for smart accounts)

Example0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb
chainType
string

Chain type (EVM or SVM)

ExampleEVM
chainId
integer

Chain ID

Example80002
smartAccount
object

Smart account data (only for Smart Accounts)

shareRequired
string

The key share data to import

Example7d526b7e99fbf52850a183...
signerId
string

Signer ID to assign (generated if omitted, sig_ prefix stripped)

Examplesig_a1b2c3d4-5678-90ab-cdef-1234567890ab
userIdRequired
string

User ID from the source system (stored as migration metadata)

Examplepla_6f6c9067-89fa-4fc8-ac72-c242a268c584

Responses

400Missing required fields.
401Error response - Unauthorized
409An account already exists at the given address.
415Unsupported Media Type - a request with a body must use Content-Type application/json.
429Too Many Requests - per-user rate limit exceeded. Retry after the interval in the Retry-After header.

Get migration metadata for an account

GET/v2/accounts/migrated-data

Returns migration metadata for an account that was imported from an external system. The authenticated user must own the account.

Query Parameters

accountIdRequired
string

The account ID to look up migration data for.

Header Parameters

X-Auth-Provider
string·max 64

Selects how the bearer token is validated. Omit it to use the default provider, which verifies the token against the auth service's JWKS.

Examplegoogle

Responses

400Missing accountId parameter.
401Error response - Unauthorized
404Account or migration data not found.
429Too Many Requests - per-user rate limit exceeded. Retry after the interval in the Retry-After header.