AWS KMS Server Wallets

AWS KMS Server Wallets

We just enabled AWS KMS wallet support for the Transactions API, allowing you to use your AWS KMS-managed keys directly.

How to use AWS KMS wallets

Add the AWS KMS headers to your Engine API calls:

curl -X POST "https://engine.thirdweb.com/v1/write/transaction" \
  -H "content-type: application/json" \
  -H "x-secret-key: <your-secret-key>" \
  -H "x-aws-kms-arn: <your-kms-key-arn>" \
  -H "x-aws-access-key-id: <your-access-key>" \
  -H "x-aws-secret-access-key: <your-secret-key>" \
  -d '{
    "executionOptions": {
      "type": "EOA",
      "chainId": "1",
      "from": "<your-kms-wallet-address>"
    },
    "params": [{
      "to": "0x...",
      "data": "0x...",
      "value": "0x0"
    }]
  }'

Migrating from Engine v2?

If you're using AWS KMS wallets with Engine v2, you can now migrate to Engine Cloud seamlessly using the same KMS configuration.

Please avoid using EOA execution on both Engine v2 and Engine Cloud simultaneously with the same wallet on the same chain - this will cause nonce conflicts. Consider testing your integration on a different chain, and them migrating fully.

Happy building! 🛠️