Skip to main content

OpenAI

This example demonstrates how to integrate the Execution Escrow library with OpenAI's API to process transaction requests through natural language.

Prerequisites

  • OpenAI API key
  • Execution Escrow OpenAI adapter installed (npm install @navalabs/execution-escrow-openai)
  • Environment variables configured

Installation

npm install @navalabs/execution-escrow-openai
# or
pnpm add @navalabs/execution-escrow-openai

Environment Setup

Ensure the following environment variables are set:

# OpenAI Configuration
OPENAI_API_KEY=sk-...

# Execution Escrow Configuration
RPC_URL=https://ethereum-sepolia-rpc.publicnode.com
PRIVATE_KEY=0x...
SAFE_ADDRESS=0x...
SIGNER_ADDRESS=0x...
PINATA_JWT=your-pinata-jwt-token
PINATA_GATEWAY=your-pinata-gateway-url
NAVA_INBOX=0x...
ARBITER_ADDRESS=0x...

Example

import OpenAI from 'openai';
import { OpenAIAdapter } from '@navalabs/execution-escrow-openai';
import { ConfigurationService } from '@navalabs/execution-escrow-core';

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY! });
const config = ConfigurationService.createExecutionEscrowConfig();
const configService = new ConfigurationService(config);
configService.validate();
const adapter = new OpenAIAdapter(config, openai);

await adapter.init();

const response = await adapter.proposeTransaction({
messages: [{ role: 'user', content: 'Send 0.1 ETH to 0xd8dA6BF2...' }],
});

console.log(response.content);

Usage

  1. Set up your environment variables
  2. Install dependencies: pnpm install
  3. Run the example: pnpm example:openai

The example will:

  1. Validate environment configuration
  2. Initialize the OpenAI adapter
  3. Process a sample transaction request
  4. Display the results
  5. Clean up resources