Skip to main content
GET
/
v2
/
evm
/
smart-accounts
List Smart Accounts
curl --request GET \
  --url https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.cdp.coinbase.com/platform/v2/evm/smart-accounts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "accounts": [
    {
      "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
      "owners": [
        "0xfc807D1bE4997e5C7B33E4d8D57e60c5b0f02B1a"
      ],
      "name": "my-smart-account",
      "policies": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "createdAt": "2025-03-25T12:00:00Z",
      "updatedAt": "2025-03-26T12:00:00Z"
    }
  ],
  "nextPageToken": "eyJsYXN0X2lkIjogImFiYzEyMyIsICJ0aW1lc3RhbXAiOiAxNzA3ODIzNzAxfQ=="
}
{
"errorType": "invalid_request",
"errorMessage": "Invalid request. Please check the request body and parameters."
}
{
"errorType": "internal_server_error",
"errorMessage": "An internal server error occurred. Please try again later."
}
{
"errorType": "bad_gateway",
"errorMessage": "Bad gateway. Please try again later."
}
{
"errorType": "service_unavailable",
"errorMessage": "Service unavailable. Please try again later."
}

Authorizations

Authorization
string
header
required

A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.

Query Parameters

pageSize
integer
default:20

The number of resources to return per page.

pageToken
string

The token for the next page of resources, if any.

Response

Successfully listed Smart Accounts.

accounts
object[]
required

The list of Smart Accounts.

nextPageToken
string

The token for the next page of items, if any.

Example:

"eyJsYXN0X2lkIjogImFiYzEyMyIsICJ0aW1lc3RhbXAiOiAxNzA3ODIzNzAxfQ=="