# ElizaOS Developer Update - Week of October 21-28, 2025

## 1. Core Framework

The ElizaOS team made significant architecture enhancements this week with a focus on messaging and payment integrations:

### Jobs API for One-Off Agent Messaging
A new Jobs API has been implemented (PR #6098) enabling external systems to send single messages to agents without maintaining persistent sessions. This stateless integration pattern is ideal for SDK-style integrations and includes:

```typescript
// Example Jobs API usage
const response = await fetch('http://localhost:3000/api/messaging/jobs', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    userId: "user-uuid",
    content: "What is Bitcoin price?"
  })
});
const { jobId } = await response.json();

// Poll for result
const result = await fetch(`http://localhost:3000/api/messaging/jobs/${jobId}`);
```

### Middleware Refactoring
The server middleware has been completely refactored from a monolithic structure into modular components:
- `auth.ts` - Authentication middleware
- `rate-limit.ts` - Request rate limiting
- `security.ts` - Security headers and CORS
- `validation.ts` - Request validation utilities

### ERC-8004 Integration
Agent Joshua from Phala is working on adding ERC-8004 (Trusted Execution Environment verification) support with onchain verification, including a Trust Center badge for hardware verification, positioning ElizaOS at the forefront of secure agent execution.

## 2. New Features

### x402 Payment Integration

The team has implemented x402 payment middleware for the Jobs API (PR #6099), enabling cryptocurrency payments for AI agent access:

```typescript
// Enable x402 payments in .env
X402_ENABLED=true
X402_WALLET_ADDRESS=0x1234...5678
X402_PRICE=0.01 # Price in USDC
X402_NETWORK=base-sepolia # or base-mainnet
```

Authentication modes are flexible:
- API key + x402: Requires both headers
- API key only: For trusted applications
- x402 only: Pay-per-use without authentication
- Open access: No authentication (development only)

### Login CLI Command

A new `elizaos login` command (PR #6100) has been added to authenticate with ElizaOS Cloud:

```bash
# Authenticate with elizaOS Cloud
elizaos login

# Output
> Opening browser for authentication...
> Successfully authenticated! Your elizaOS Cloud token has been saved.
```

The implementation provides a smooth authentication flow with browser-based login and secure token storage.

## 3. Bug Fixes

Several critical bugs were resolved this week:

### CLI Installation Error Fixed
The team addressed a critical bug reported in issue #6088 where the CLI installation failed with `Cannot find module '@anthropic-ai/claude-code'` error after Claude dependencies were removed from the CLI package. This was resolved by properly removing all references to Claude in the entry points.

### Memory Channel Mapping
Issue #6067 was fixed to correctly map channelId to agent-unique roomId in room memories endpoint:

```typescript
// Before: Memory filtering was broken for user messages
const memories = await getMemoriesByChannel(channelId);

// After: Properly converts channelId to agent-specific roomId
const roomId = await mapChannelToAgentRoom(channelId, agentId);
const memories = await getMemoriesByRoom(roomId);
```

This ensures correct filtering of user vs. agent messages in the memory viewer.

### Bootstrap Message Flow
The bootstrap plugin was updated to ensure the `thought` property is consistently included in action completion events for better observability when using the Jobs API.

## 4. API Changes

### Unified Messaging API
PR #6095 introduced a unified messaging approach with the `elizaOS.sendMessage()` method:

```typescript
// New unified API for sending messages
await elizaOS.sendMessage({
  channelId: 'channel-123',
  content: 'Hello, agent!',
  userId: 'user-456'
});
```

This standardizes message handling across all ElizaOS integrations and simplifies the developer experience.

### Agent Bio Field
The team has replaced `Agent.description` with `bio` in API types (PR #6085):

```typescript
// Before
interface Agent {
  description: string;
  // ...
}

// After
interface Agent {
  bio: string | string[];
  // ...
}
```

This change provides more flexibility for agent descriptions, allowing arrays of text that can be used for different contexts.

## 5. Social Media Integrations

### Twitter Plugin Updates
Discussions in the Discord channels mentioned ongoing work to solve issues with the Twitter plugin:

1. The team is exploring alternatives to the Twitter API to prevent bans
2. A user reported that implementations without Twitter API get banned quickly
3. There's ongoing work on media upload capabilities for the Twitter API v2

### Telegram Integration
Developers mentioned investigating better integration between elizaOS agents and messaging platforms:

```typescript
// Example of configuring the Telegram plugin
const telegramPlugin = {
  name: 'plugin-telegram',
  config: {
    botToken: process.env.TELEGRAM_BOT_TOKEN,
    allowedUsers: ['username1', 'username2']
  }
};
```

## 6. Model Provider Updates

### OpenRouter Plugin
According to Discord discussions, developers are actively working with multiple AI provider plugins including:
- openrouter
- multi-step bootstrap 
- plugin-relay
- websearch
- plugin-cdp
- coingecko

### Voice Synthesis Alternatives
The team is exploring alternatives to elevenlabs for voice synthesis, specifically mentioning `neutts-air` as a potential option:

```typescript
// Potential integration with neutts-air
const voiceSynthesisPlugin = {
  name: 'plugin-voice-synthesis',
  config: {
    provider: 'neutts-air',
    apiKey: process.env.NEUTTS_AIR_API_KEY,
    voice: 'natural-female-1'
  }
};
```

## 7. Breaking Changes

### x402 Implementation
Significant changes are coming to the ElizaOS messaging architecture as the team implements x402 payment standards:

1. **Stan's x402 Implementation**: Major changes scheduled for implementation
2. **Migration to Jobs API**: The new Jobs API with x402 middleware will eventually replace some existing messaging patterns
3. **Database Security**: PR #6101 adds PostgreSQL Row-Level Security (RLS) for multi-tenant isolation
4. **Authentication Changes**: Systems relying on the current authentication flow will need updates to support both API keys and x402 payment headers

Developers should prepare for these changes by:
- Testing with the new Jobs API endpoints
- Setting up x402 wallet configuration
- Reviewing current API usage for potential impact
- Updating client applications to handle new authentication requirements

The ElizaOS Cloud migration is also underway, with the team having notified all exchanges. Developers should monitor exchange announcements for handling of perpetual futures positions and other derivative products.

---
Links:
- Jobs API documentation: https://docs.elizaos.ai/guides/jobs-api
- x402 integration guide: https://docs.elizaos.ai/x402-payment-integration
- GitHub PR #6098: https://github.com/elizaOS/eliza/pull/6098
- GitHub PR #6099: https://github.com/elizaOS/eliza/pull/6099
- GitHub PR #6100: https://github.com/elizaOS/eliza/pull/6100