OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Go Ethereum Aws Kms Tx Signer

Go Ethereum Aws Kms Tx Signer is a Go library extension for go-ethereum that signs Ethereum transactions using AWS KMS-managed keys. It provides transaction options for generated contract bindings, a signer for manually constructed transactions, and a separate signer for EIP-712 typed data.

Independent OpenViST project profile, based on linked sources.

Go Ethereum Aws Kms Tx Signer — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a Go application already uses go-ethereum and needs transaction or typed-data signing tied to an AWS KMS key.

Who it is for

  • Go developers building Ethereum applications with go-ethereum and AWS KMS.
  • Teams integrating AWS KMS-backed signing into contract transaction flows or off-chain EIP-712 workflows.

Documented uses

  • Configure a go-ethereum contract transactor to obtain transaction signatures from an AWS KMS key.
  • Sign a manually constructed Ethereum transaction through the library's signer before sending it with an Ethereum client.
  • Sign EIP-712 typed data for documented off-chain flows such as permits, order books and authentication.
Before you choose

Requirements & limits

  • The library requires an AWS KMS asymmetric key configured for SIGN_VERIFY with ECC_SECG_P256K1.
  • The application principal needs kms:GetPublicKey and kms:Sign permissions on the key.
  • The current module import path is github.com/matelang/go-ethereum-aws-kms-tx-signer/v2; the prior welthee path is described as no longer maintained.
  • The repository specifies the MIT license.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Prepare AWS KMS for transaction signing

Configure a KMS key and application permissions required by the library.

Before you start

  • An AWS KMS asymmetric key
  • An application principal to authorize

Steps

  1. Create an asymmetric KMS key with SIGN_VERIFY usage and ECC_SECG_P256K1 specification.

  2. Set the key policy to grant the application's principal kms:GetPublicKey and kms:Sign permissions.

Expected outcome

The KMS key and access policy meet the library's stated prerequisites for signing.

Guide limitations

  • These steps cover key and permission preparation, not application integration or transaction submission.
Source-based practical guide

Connect a go-ethereum transactor to AWS KMS

Use the library's returned transaction options with a generated contract transactor.

Before you start

  • A Go application using go-ethereum
  • A configured AWS KMS key and an application principal authorized for kms:GetPublicKey and kms:Sign
  • A contract binding that accepts *bind.TransactOpts

Steps

  1. Import github.com/matelang/go-ethereum-aws-kms-tx-signer/v2.

  2. Create the contract transactor with the contract address and Ethereum client.

  3. Obtain transaction options with NewAwsKmsTransactorWithChainID, passing the KMS service, key ID and chain ID.

  4. Pass the returned options to the generated transactor method, as in the documented ERC-20 Transfer example.

Expected outcome

The generated contract transactor receives options configured to sign through the AWS KMS key.

Guide limitations

  • The example documents the integration pattern, not deployment configuration or successful execution.
  • The application must separately provide its KMS service, key ID, chain ID and Ethereum client.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
matelang/go-ethereum-aws-kms-tx-signer · Official homepage title · retained in its source language