bitpro가 원문에서 글자만 모은 내용이에요. 표·그림·수식은 빠지거나 깨질 수 있어요. 전체 35쪽 중 1쪽
# Alliance DAO
Source: https://docs.o1.exchange/AllianceDAO
Strategic Partnerships Powering o1 Terminal
<Frame>
<img alt="Alliance DAO Partnership" />
</Frame>
## Elite Backing
<CardGroup>
<Card title="Alliance DAO" icon="handshake">
First investor in <a href="https://pump.fun">pump.fun</a>, <a href="https://moonshot.money/">Moonshot</a>, <a href="https://believe.app//">Believe App</a>
</Card>
</CardGroup>
We're proud to announce that o1 Terminal is backed by these elite investors in the blockchain space and many more, bringing institutional credibility and strategic resources to our platform.
These strategic partnerships empower o1 Terminal to push the boundaries of DeFi trading technology. We're rapidly developing cutting-edge solutions to deliver a divine trading experience that sets new standards in the industry.
# o1 Alpha Token API
Source: https://docs.o1.exchange/api/alpha-tokens
Fetch the ranked o1 Alpha token contract-address list for a network without authentication.
Use this public read endpoint to retrieve the token contract addresses currently included in o1 Alpha for one network.
## Endpoint
```http theme={null}
GET https://api.o1.exchange/api/v1/alpha-tokens?networkId={networkId}
```
No API key or bearer token is required.
## Query parameter
| Parameter | Type | Required | Description |
| - | - | - | - |
| `networkId` | Positive integer | Yes | Registered network ID used by o1 Terminal, such as `8453` for Base |
The endpoint rejects a missing, duplicated, non-integer, or non-positive `networkId` with `400 Bad Request`.
## Request example
```bash theme={null}
curl "https://api.o1.exchange/api/v1/alpha-tokens?networkId=8453"
```
## Response
A successful response is an unwrapped JSON array containing only contract addresses:
```json theme={null}
[
"0x1111111111111111111111111111111111111111",
"0x2222222222222222222222222222222222222222"
]
```
Addresses are ordered by their current o1 Alpha rank. Duplicate addresses are omitted while preserving the first ranked occurrence. The endpoint returns up to 1,000 addresses.
If the network currently has no o1 Alpha tokens, the response is:
```json theme={null}
[]
```
<Note>
The response intentionally contains no token metadata, rank values, pagination fields, or network wrapper. Use the requested `networkId` as the chain context for every returned address.
</Note>
## JavaScript example
```javascript theme={null}
const response = await fetch(
"https://api.o1.exchange/api/v1/alpha-tokens?networkId=8453",
);
if (response.status === 429) {
throw new Error("Rate limit exceeded. Wait before retrying.");
}
if (!response.ok) {
throw new Error(`o1 API request failed with ${response.status}`);
}
const contractAddresses = await response.json();
```
## Errors
Invalid request parameters return a JSON error:
```json theme={null}
{
"success": false,
"code": 400,
"message": "networkId must be a positive integer"
}
```
| Status | Meaning | Client action |
| - | - | - |
| `200` | Address list returned successfully | Consume the JSON array |
| `400` | `networkId` is missing or invalid | Correct the request before retrying |
| `429` | The source exceeded the edge rate limit | Wait before retrying and honor `Retry-After` when present |
| `500` | Unexpected service error | Retry with capped exponential backoff and jitter |
## Rate limits and caching
Cloudflare enforces source-based rate limits at the public API edge. Limits may change as traffic patterns and service capacity evolve, so clients must handle `429` responses instead of assuming a fixed quota.
Successful responses include:
```http theme={null}
Cache-Control: public, max-age=60, s-maxage=300, stale-while-revalidate=60
Access-Control-Allow-Origin: *
```
Browsers may call the endpoint across origins. Shared caches can reuse a successful response for up to five minutes, while browser caches can reuse it for up to one minute.
# API overview
Source: https://docs.o1.exchange/api/introduction
Choose the o1 Terminal API surface that matches your integration.
o1 Terminal provides separate API surfaces for public market data, authenticated trading, and o1 Launchpad integrations.
## Choose an API
| API | Base URL | Authentication | Use it for |
| - | - | - | - |
| o1 Alpha Token API | `https://api.o1.exchange` | None | Read the ranked o1 Alpha token contract-address list for a network |
| Trading API | `https://api.o1.exchange` | Bearer token | Prepare and submit programmatic trades |
| o1 Launchpad Public API | `https://api.launch.o1.exchange/v1` | `x-api-key`, except health checks | Browse launches and prepare launchpad transactions |
<CardGroup>
<Card title="o1 Alpha Token API" icon="list" href="/api/alpha-tokens">
Fetch an unpaginated list containing only token contract addresses. No API key is required.
</Card>
<Card title="Trading API" icon="arrow-right-arrow-left" href="/api/trading">
Build and submit trades with MEV protection, Permit2 support, and configurable slippage.
</Card>
<Card title="o1 Launchpad Public API" icon="rocket" href="/launchpad/api/introduction">
Integrate with o1 Launchpad through its separately versioned API and scoped API keys.
</Card>
</CardGroup>
## Versioned routes
The route path identifies the API version. Use the complete endpoint shown on each API page rather than adding a version to the base URL yourself.
For example:
```text theme={null}
GET https://api.o1.exchange/api/v1/alpha-tokens
POST https://api.o1.exchange/api/v2/order
```
The o1 Launchpad Public API uses a different host and places `/v1` in its base URL.
## Common client behavior
* Send and accept JSON unless an endpoint says otherwise.
* Treat `429 Too Many Requests` as retryable after waiting. Honor `Retry-After` when the response includes it.
* Use exponential backoff with jitter for transient `500` class errors.
* Do not retry invalid `400` class requests without correcting them.
* Keep private keys and API tokens out of client-side code and source control.
# Trading API
Source: https://docs.o1.exchange/api/trading
Execute trades programmatically with MEV protection, Permit2 support, and automatic slippage handling
## Overview
The o1 Terminal Trading API enables programmatic trading with enterprise-grade features including built-in MEV protection, Permit2 support for gasless approvals, and automatic slippage handling.
<Card title="Key Benefits" icon="star">
* **MEV Protection**: Private mempool routing to prevent sandwich attacks
* **Gasless Approvals**: One-time Permit2 signatures for unlimited trading
* **Automatic Slippage**: Built-in slippage protection with customizable limits
</Card>
## Prerequisites
<CardGroup>
<Card title="Wallet" icon="wallet">
Ethereum wallet with private key
</Card>
<Card title="Gas Fees" icon="coins">
ETH for transaction costs
</Card>
<Card title="Runtime" icon="code">
Node.js environment
</Card>
</CardGroup>
## Quick Start
### 1. Generate API Key
<Steps>
<Step title="Navigate to API Trading">
Visit [https://o1.exchange/api-trading](https://o1.exchange/api-trading)
</Step>
<Step title="Create API Key">
Generate your secure API token for authentication
</Step>
</Steps>
### 2. Create Transaction Batch
<Tabs>
<Tab title="Request">
**Endpoint:** `POST https://api.o1.exchange/api/v2/order`
**Headers:**
```json theme={null}
{
"Authorization": "Bearer <YOUR_API_TOKEN>",
"Content-Type": "application/json"
}
```
**Body:**
```json theme={null}
{
"networkId": 8453, // Network ID (8453 = Base, 56 = BSC, 1399811149 = Solana)
"signerAddress": "0x...", // Your wallet address
"tokenAddress": "0x...", // Token contract address
"uiAmount": "1.0", // Amount in human-readable format
"direction": "buy", // "buy" or "sell"
"slippageBps": 300, // Slippage in basis points (300 = 3%)
"mevProtection": true, // Enable MEV protection
"quoteTokenAddress": "0x...", // (Optional) Quote token for stablecoin trades (Base only)
"poolAddress": "0x..." // (Optional) Specific liquidity pool (Base, BSC)
}
```
</Tab>
<Tab title="Response">
```json theme={null}
{
"success": true,
"id": "batch_123...",
"transactions": [
{
"id": "tx_456...",
"unsigned": {
"to": "0x...",
"data": "0x...",
"value": "0x...",
"gasLimit": "0x...",
"chainId": 1
},
"permit2": {
"eip712": {
"domain": {...},
"types": {...},
"values": {...}
}
}
}
]
}
```
</Tab>
</Tabs>
### 3. Sign Transaction and Permit2
<Accordion title="Implementation Details">
For each transaction in the response:
1. **Sign Permit2 (if present):**
* Extract the EIP-712 typed data from `permit2.eip712`
* Sign using wallet's `signTypedData` method
* Replace the signature placeholder in transaction data
2. **Sign the transaction:**
* Create transaction object from the unsigned data
* Sign using wallet's `signTransaction` method
```javascript theme={null}
// Fixed signature placeholder - don't change
const SIGNATURE_PLACEHOLDER =
"42f68902113a2a579bcc207c91254c8516d921250e748c18a082d91d74908f8e9a05f27b72a030c6a42d77d0e0aab6fb09219b01a01e7b5b24e4f322ee1762ff1b";
for (const ctx of data.transactions) {
const unsignedTx = Transaction.from(ctx.unsigned);
// Handle Permit2 signature if present
if (ctx?.permit2?.eip712) {
const { domain, types, values } = ctx.permit2.eip712;
const signature = await wallet.signTypedData(domain, types, values);
// Replace placeholder with actual signature
let txData = unsignedTx.data;
txData = txData.replace(SIGNATURE_PLACEHOLDER, signature.slice(2));
unsignedTx.data = txData;
}
// Sign the transaction
const signedTx = await wallet.signTransaction(unsignedTx);
}
```
</Accordion>
### 4. Submit Transaction
<Tabs>
<Tab title="Request">
**Endpoint:** `POST https://api.o1.exchange/api/v2/order/complete`
**Headers:**
```json theme={null}
{
"Authorization": "Bearer <YOUR_API_TOKEN>",
"Content-Type": "application/json"
}
```
**Body:**
```json theme={null}
{
"id": "batch_123...", // Batch ID from create response
"transactions": [
{
"id": "tx_456...", // Transaction ID
"signed": "0x...", // Signed transaction hex
"permit2": {
"eip712": {
"signature": "0x..." // Permit2 signature
}
}
}
]
}
```
</Tab>
<Tab title="Response">
```json theme={null}
{
"success": true,
"transactions": [
{
"hash": "0x...", // Transaction hash
"status": "pending", // Transaction status
"tokenDelta": "1000000" // Token balance change
}
]
}
```
</Tab>
</Tabs>
## Sample Scripts & Examples
<Card title="Complete Sample Repository" icon="github">
**GitHub Repository:** [https://github.com/CohumanSpace/o1-api](https://github.com/CohumanSpace/o1-api)
This repository contains complete sample scripts for using the o1 Terminal API, including:
* Interactive CLI trading application
* Complete integration examples
* Proper error handling patterns
* Environment setup guides
</Card>
## Interactive Example
<Card title="Complete CLI Trading App" icon="terminal">
See `execute-trade-interactive.js` in the [sample repository](https://github.com/CohumanSpace/o1-api) for a fully functional CLI trading application that demonstrates all integration steps with proper error handling and user interaction.
</Card>
### Setup Environment
Create a `.env.local` file:
```env theme={null}
EXECUTE_TRADE_PRIVATE_KEY=<YOUR_PRIVATE_KEY>
EXECUTE_TRADE_API_TOKEN=<YOUR_API_TOKEN>
EXECUTE_TRADE_BASE_URL=<API_BASE_URL>
EXECUTE_TRADE_RPC_URL=<ETHEREUM_RPC_URL>
```
### Run Interactive CLI
```bash theme={null}
node execute-trade-interactive.js
```
<Steps>
<Step title="Token Address">
Enter token contract address (e.g., `0x06ca615ac72a18e76b63bd4b5c320b6c8e291f8b`)
</Step>
<Step title="Trade Direction">
Choose `buy` or `sell`
</Step>
<Step title="Amount">
Enter amount in ETH (for buy) or tokens (for sell)
</Step>
<Step title="Confirm">
Review trade details and execute
</Step>
<Step title="Results">
View balance changes after execution
</Step>
</Steps>
## Advanced Features
<CardGroup>
<Card title="Permit2 Integration" icon="signature">
<p>**Gasless token approvals** using EIP-712 signatures</p>
<ul>
<li>Automatic signature placeholder replacement</li>
<li>One-time approval for unlimited trading</li>
<li>Reduced gas costs for frequent traders</li>
</ul>
</Card>
<Card title="MEV Protection" icon="shield">
<p>**Protection against sandwich attacks**</p>
<ul>
<li>Private mempool routing</li>
<li>Reduced slippage from MEV bots</li>
<li>Enable with `mevProtection: true`</li>
</ul>
</Card>
</CardGroup>
### Slippage Control
<Info>
Specify `slippageBps` in basis points where **100 bps = 1%**
**Recommendations:**
* **Normal conditions:** 300 bps (3%)
* **Volatile tokens:** 500-1000 bps (5-10%)
* **Large trades:** Increase as needed
</Info>
## Error Handling
<Warning>
Always implement proper error handling for:
* Network connectivity issues
* Insufficient balance or gas
* Transaction reverts
* API rate limiting
</Warning>
<Tip>
The interactive example includes comprehensive error handling patterns you can reference for your own implementation.
</Tip>
# Bug Bounty Program
Source: https://docs.o1.exchange/community/bug-bounty
Help secure o1 Terminal and earn rewards for finding vulnerabilities
## Protecting Our Community
At o1 Terminal, security is our top priority. We've established a comprehensive bug bounty program to incentivize security researchers and developers to help identify vulnerabilities in our platform. Your contributions help us maintain the highest security standards for our users.
<CardGroup>
<Card title="Report Vulnerabilities" icon="bug">
Discover and report security issues to earn rewards
</Card>
<Card title="Earn Rewards" icon="coins">
Get paid for valid security findings based on severity
</Card>
</CardGroup>
## Reward Structure
<Tabs>
<Tab title="Severity Levels">
Rewards are determined based on the severity and impact of the vulnerability:
| Severity | Description | Reward Range |
| - | - | - |
| **High** | loss of funds, significant impact | $1,000 - $5,000 |
| **Medium** | Limited impact, requires specific conditions | $500 - $1,000 |
| **Low** | Minimal impact, informational issues | $100 - $500 |
</Tab>
<Tab title="Scope">
### In Scope
* Smart contract vulnerabilities
* Trading engine exploits
* Authentication bypass
* Fund manipulation
* Oracle manipulation
* Cross-site scripting (XSS)
* SQL injection
* Remote code execution
### Out of Scope
* Known issues or already reported vulnerabilities
* Social engineering attacks
* Physical attacks
* Denial of service attacks
* Issues in third-party services
* Generic product bugs, including but not limited to UI/UX, application clients, product stability, etc.
</Tab>
</Tabs>
<Warning>
* Attempting to exploit vulnerabilities on the mainnet or causing actual harm to users is strictly prohibited and may result in legal action.
* No one should break nor exploit the mainnet (production o1 Terminal site) without the admin/team's approval; otherwise it would lead to a smaller final payout.
</Warning>
## How to Participate
<Steps>
<Step title="Discover">
Review our smart contracts, trading platform, and infrastructure for potential vulnerabilities
</Step>
<Step title="Document">
Create a detailed report including:
* Clear description of the vulnerability
* Steps to reproduce
* Impact assessment
* Suggested fix (if applicable)
* Payments would be sent when attack and solution documentations are shared, given no follow-up attack within the next 1 month
</Step>
<Step title="Submit">
Send your report to our X account @o1\_exchange via DM
</Step>
<Step title="Review">
Our security team will review your submission within 48 hours
</Step>
<Step title="Reward">
Upon validation, receive your bounty payment in USDC or ETH
</Step>
</Steps>
## Recognition
<Note>
Top contributors to our bug bounty program will be featured in our Security Hall of Fame and receive exclusive NFT badges recognizing their contributions to platform security.
</Note>
## Legal Safe Harbor
We commit to not pursuing legal action against security researchers who:
* Comply with this bug bounty policy
* Act in good faith
* Make a reasonable effort to avoid privacy violations
* Do not exploit vulnerabilities beyond what's necessary for verification
<Tip>
Join our security-focused Discord channel to discuss potential findings with our team and other security researchers. Remember: collaboration makes our platform stronger!
</Tip>
## Contact
For questions about the bug bounty program or to submit a vulnerability report:
<Card title="Security Team" icon="envelope">
**Twitter**: Send your report to our X account @o1\_exchange via DM.\
**Response Time**: Within 48 hours.
</Card>
# Platform Metrics
Source: https://docs.o1.exchange/community/metrics
<Card title="Dune Analytics Dashboard" icon="chart-line" href="https://dune.com/o1_exchange/o1exchange-data/">
View comprehensive platform metrics including trading volumes, active users, fee generation, and network distribution
</Card>
<Tip>
Bookmark the Dune dashboard to stay updated on platform performance and trading trends. The data is particularly useful for understanding market dynamics and making informed trading decisions.
</Tip>
# Community & Socials
Source: https://docs.o1.exchange/community/socials
Connect with thousands of traders, developers, and DeFi enthusiasts in the o1 Terminal community. Get real-time updates, trading insights, and direct support from our team.
<CardGroup>
<Card title="Discord Server" icon="discord" href="https://discord.gg/o1exchange" />
<Card title="Twitter/X" icon="x-twitter" href="https://x.com/o1_exchange" />
<Card title="o1 Terminal founder Twitter/X" icon="x-twitter" href="https://x.com/stambouli_o1" />
<Card title="o1 Terminal founder Zora" icon="x-twitter" href="https://zora.co/@yomanwhatsup" />
</CardGroup>
<Note>
Our community is global and active 24/7. Whether you're a beginner or experienced trader, you'll find valuable insights and supportive community members ready to help you succeed.
</Note>
# Explore Tokens
Source: https://docs.o1.exchange/features/explore-tokens
o1 Terminal provides comprehensive token exploration tools to help you discover new opportunities, research projects, and make informed trading decisions across multiple blockchain networks.
### Token Discovery Features
<CardGroup>
<Card title="Trending Tokens" icon="chart-line-up">
Discover the most popular and trending tokens based on trading volume and community interest
</Card>
<Card title="New Listings" icon="sparkles">
Stay updated with newly listed tokens and early-stage opportunities
</Card>
<Card title="Top Gainers/Losers" icon="arrows-up-down">
Track the best and worst performing tokens over various time periods
</Card>
<Card title="High Volume" icon="chart-bar">
Find tokens with exceptional trading volume and liquidity
</Card>
</CardGroup>
<div>
<div>
<h4>Explore Tokens in Pulse</h4>
<img alt="Pulse page showing new token pairs" />
<p>
Use the <b>Pulse</b> page to discover new trading pairs that have been recently launched. This section highlights tokens that are gaining traction, allowing you to spot emerging opportunities early.
</p>
</div>
<div>
<h4>Filter Tokens by Your Criteria</h4>
<img alt="Pulse page filter options" />
<p>
Apply advanced filters to narrow down tokens based on your selection criteria—such as trading volume, price change, liquidity, or launch time. This helps you focus on tokens that best match your investment or trading strategy.
</p>
</div>
</div>
# Onramp Fiat to Crypto
Source: https://docs.o1.exchange/features/onramp
o1 Terminal provides integrated fiat onramp solutions powered by Coinbase, allowing you to convert traditional currencies (USD, EUR, etc.) directly into cryptocurrency without leaving the platform.
프로젝트로 돌아가기