Skip to content
This repository was archived by the owner on Jun 24, 2026. It is now read-only.

coinbase-samples/prime-sdk-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecated: This repository has moved to github.com/coinbase/prime-sdk-go. Install with go get github.com/coinbase/prime-sdk-go and update imports from github.com/coinbase-samples/prime-sdk-go to github.com/coinbase/prime-sdk-go. This repository is no longer maintained.

Prime Go SDK README

GoDoc Go Report Card

Overview

The Prime Go SDK is a sample libary that demonstrates the structure of a Coinbase Prime driver for the REST APIs.

Usage

To use the Prime Go SDK, initialize the Credentials struct and create a new client. The Credentials struct is JSON enabled. Ensure that Prime API credentials are stored in a secure manner.

primeCredentials, err := credentials.ReadEnvCredentials("PRIME_CREDENTIALS")
if err != nil {
    log.Fatalf("unable to load prime credentials: %v", err)
}

httpClient, err := client.DefaultHttpClient()
if err != nil {
    log.Fatalf("unable to load default http client: %v", err)
}

client := client.NewRestClient(primeCredentials, httpClient)

The credentials.ReadEnvCredentials is a convenience function to read the credentials from an environment variable and deserialize the JSON structure. Use credentials.UnmarshalCredentials, if pulled from a different source. The JSON format expected by both is:

{
  "accessKey": "",
  "passphrase": "",
  "signingKey": "",
  "portfolioId": "",
  "svcAccountId": "",
  "entityId": ""
}

Coinbase Prime API credentials can be created in the Prime web console under Settings -> APIs. Entity ID can be retrieved by calling Get Portfolio.

Once the client is initialized, instantiate a service to make the desired call. For example, to list portfolios, create the service, pass in the request object, check for an error, and if nil, process the response.

service := portfolios.NewPortfoliosService(client)

response, err := service.ListPortfolios(ctx, &portfolios.ListPortfoliosRequest{})

Build

To build the sample library, ensure that Go 1.19+ is installed and then run:

go build ./...

🚨 Security and Bug Reports

If you discover a security vulnerability within this SDK, please see our Security Policy for disclosure information.

📧 Contact

License

The Prime Go SDK sample library is free and open source and released under the Apache License, Version 2.0.

About

Sample Go SDK for the Coinbase Prime REST APIs

Resources

License

Contributing

Security policy

Stars

25 stars

Watchers

5 watching

Forks

Packages

 
 
 

Contributors

Languages