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
- Set up your environment variables
- Install dependencies:
pnpm install - Run the example:
pnpm example:openai
The example will:
- Validate environment configuration
- Initialize the OpenAI adapter
- Process a sample transaction request
- Display the results
- Clean up resources