Prerequisites

CRE Connect is a permissioned service. Before you can use the SDK or call the API, your organization must exist on the Chainlink Platform and be provisioned by Chainlink Labs for CRE Connect. Steps 1–3 cover the account and API key; steps 4–6 cover the local toolchain and integration choices.

1. Create your organization

Go to app.chain.link and create an account or sign in.

Once signed in, click on your organization's name in the bottom-left corner of the sidebar to open its Organization page. Your Organization ID is displayed in the page header: copy it. It is a short prefixed string, for example org_example00000000000 (not a UUID).

2. Share your Organization ID

Share your Organization ID with your Chainlink Labs contact so they can enable CRE Connect for your organization. You cannot create API keys or use CRE Connect until this step is complete.

3. Create an API key

Once your account has been provisioned, create an API key for authentication:

  1. Sign in to the Chainlink Platform, click on your organization's name in the bottom-left corner of the sidebar to open its Organization page, then select the "APIs" tab.
  2. Click "+ Organization API".
  3. Enter a name for the key and select an expiration period (1 day, 1 month, or 1 year).
  4. Click "Generate". The API key is displayed once: copy it immediately.

You will use this key in the Authorization header for all CRE Connect REST calls and as the apiKey argument to the Go SDK constructor:

curl https://cre-connect.api.chain.link/v1/<endpoint> \
  -H "Authorization: Apikey <API_KEY>"
client, err := crec.NewClient(
    "https://cre-connect.api.chain.link/v1",
    "<API_KEY>",
    crec.WithOrgID("<your-org-id>"),
)

For local development, store the key, the base URL, and your Organization ID in environment variables so they never land in source control:

export CREC_BASE_URL="https://cre-connect.api.chain.link/v1"
export CREC_API_KEY="<your-api-key>"
export CREC_ORG_ID="<your-org-id>"   # the Organization ID from step 1, e.g. org_example00000000000

4. Go toolchain

The CRE Connect SDK targets Go 1.25.3 or higher, and the DTA extension targets Go 1.25.5 or higher. Use Go 1.25.5+ to cover both. Check your version:

go version

If your installed Go is older, you have two options:

  • Upgrade your toolchain: follow the official install instructions at go.dev/dl.

  • Let Go fetch the right toolchain on demand: GOTOOLCHAIN=auto is the default since Go 1.21, so as long as your go.mod declares go 1.25.5 (or higher) and a toolchain directive, Go will download the matching toolchain transparently the first time you run go build, go run, or go mod tidy. For a fresh project:

    go mod init <your-module>
    go mod edit -go=1.25.5 -toolchain=go1.25.9
    

5. A supported network and chain selector

Watchers and wallets are pinned to a network. CRE Connect identifies networks by their chain selector (a uint64 represented as a string in API payloads, for example 5009297550715157269 for Ethereum Mainnet).

You can list supported networks at runtime once authenticated (see Authentication) or consult the static Supported Networks reference.

The quickstarts in this section target Sepolia (16015286601757825753).

6. A signer

Operations are signed off-chain before being submitted to CRE Connect. You will need a key (or a key-management service) to produce ECDSA signatures.

The fastest option for the quickstarts is the local ECDSA signer in crec-sdk/transact/signer/local, which loads a *ecdsa.PrivateKey directly into memory:

import (
    "github.com/ethereum/go-ethereum/crypto"
    "github.com/smartcontractkit/crec-sdk/transact/signer/local"
)

pk, _ := crypto.HexToECDSA("ab12...")
signer := local.NewSigner(pk)

The SDK ships first-class adapters for managed signers:

  • AWS KMS: crec-sdk/transact/signer/kms
  • HashiCorp Vault: crec-sdk/transact/signer/vault
  • Fireblocks: crec-sdk/transact/signer/fireblocks
  • Privy: crec-sdk/transact/signer/privy

You can also implement your own by satisfying the signer.Signer interface; see Implement a Custom Signer.

Checklist

  • Organization created on app.chain.link; Organization ID copied.
  • Organization ID shared with Chainlink Labs and CRE Connect enablement confirmed.
  • API key generated in your org's Organization → APIs tab, stored securely, and exposed via env var.
  • CREC_BASE_URL, CREC_API_KEY, and CREC_ORG_ID exported in your shell.
  • go version reports 1.25.5 or higher (or your go.mod has go 1.25.5 + a toolchain directive).
  • You have picked a supported network and know its chain selector.
  • You have a signer (local key for the quickstarts; managed signer for production).

When all of these are checked, continue to SDK Installation.

Get the latest Chainlink content straight to your inbox.