메인 콘텐츠로 건너뛰기
Venice는 하나의 자격 증명으로 에이전트에게 추론(230개 이상의 모델)과 블록체인 접근(10개 EVM 체인 + Starknet)을 모두 제공합니다. 에이전트는 추론과 RPC 공급자 계정을 따로 관리하지 않고도 사고하고, 서명하고, 트랜잭션을 전송할 수 있습니다.

하나의 자격 증명, 두 가지 슈퍼파워

LLM 추론과 JSON-RPC 호출 모두를 위한 단일 API 키(또는 지갑).

11개 체인 지원

Ethereum, Base, Arbitrum, Optimism, Polygon, Linea, Avalanche, BSC, Blast, zkSync Era, Starknet(mainnet 및 testnet 포함).

VVV 스테이킹으로 헤드리스 자금 조달

Base 위에서 VVV를 스테이킹해 일일 DIEM을 적립하세요. 발급된 API 키에 대해 현재 유일한 완전 헤드리스 자금 조달 경로입니다. USD 및 암호화폐 충전은 대시보드에서도 가능합니다.

x402를 통한 키리스 인증

에이전트는 지갑 서명으로 인증하고 Base 또는 Solana의 USDC로 결제할 수 있습니다.

왜 온체인 에이전트에 Venice를 사용하나요?

CapabilityWhat your agent gets
추론하나의 OpenAI 호환 endpoint를 통한 230개 이상의 텍스트, 이미지, 비디오, 오디오, 임베딩 모델
Crypto RPC10개 EVM 체인과 Starknet(mainnet, testnet)으로의 JSON-RPC 2.0 프록시
인증표준 API 키 또는 x402 지갑 인증(Venice 계정 불필요)
자금 조달자율: 일일 DIEM을 위한 VVV 스테이킹. 브라우저: 대시보드를 통한 USD 또는 암호화폐 충전
배치(Batching)요청당 최대 100개의 JSON-RPC 호출, 멀티 체인 병렬 처리
멱등성(Idempotency)Idempotency-Key 헤더로 안전한 재시도

인증

에이전트의 실행 방식에 맞는 인증 방식을 선택하세요.
MethodBest forHow it works
API 키서버 측 에이전트, 고정 배포Authorization: Bearer <key> 헤더. 키 발급은 venice.ai/settings/api.
x402 지갑자율, 크립토 네이티브, 또는 단기 에이전트지갑이 Sign-In-With-X 메시지에 서명하고 요청별로 Base 또는 Solana의 USDC로 결제합니다. Venice 계정 불필요. x402 가이드 참고.
두 방식 모두 동일한 rate limit과 Venice 크레딧 결제를 공유합니다.
완전히 자율적인 에이전트는 Base에 VVV를 스테이킹해 자체 API 키를 발급받을 수 있습니다. Autonomous Agent API Key Creation을 참고하세요.

Crypto RPC 빠른 시작

모든 JSON-RPC 2.0 메서드를 POST /crypto/rpc/{network}로 보낼 수 있습니다.
curl https://api.venice.ai/api/v1/crypto/rpc/ethereum-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_chainId",
    "params": [],
    "id": 1
  }'
응답:
{ "jsonrpc": "2.0", "id": 1, "result": "0x1" }
응답 헤더에는 X-Venice-RPC-Credits(과금된 크레딧), X-Venice-RPC-Cost-USD(달러 비용), X-Request-ID(상관 ID)가 포함됩니다.

지원 네트워크

FamilyMainnetTestnets
Ethereumethereum-mainnetethereum-sepolia, ethereum-holesky
Basebase-mainnetbase-sepolia
Arbitrumarbitrum-mainnetarbitrum-sepolia
Optimismoptimism-mainnetoptimism-sepolia
Polygonpolygon-mainnetpolygon-amoy
Linealinea-mainnetlinea-sepolia
Avalanche C-Chainavalanche-mainnetavalanche-fuji
BNB Smart Chainbsc-mainnetbsc-testnet
Blastblast-mainnetblast-sepolia
zkSync Erazksync-mainnetzksync-sepolia
Starknetstarknet-mainnetstarknet-sepolia
실시간 권위 있는 목록은 GET /crypto/rpc/networks를 사용하세요.

메서드 등급(Tier)

메서드는 세 가지 크레딧 등급으로 그룹화됩니다. 총 비용 = baseCredits[chain] × methodTier.
TierMultiplierExamples
Standard1xeth_call, eth_getBalance, eth_blockNumber, eth_sendRawTransaction, eth_getLogs, eth_getTransactionReceipt, eth_estimateGas
Advanced2xtrace_block, trace_call, trace_transaction, debug_traceCall, debug_traceTransaction
Large4xtrace_replayBlockTransactions, trace_replayTransaction, txpool_content
전체 목록과 가격 세부사항은 Crypto RPC API 레퍼런스에 있습니다.

에이전트 레시피

온체인을 읽고 쓰는 AI 에이전트에 흔히 쓰이는 패턴들입니다.

지갑의 네이티브 잔액 읽기

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getBalance",
    "params": ["0xYourWalletAddress", "latest"],
    "id": 1
  }'

ERC-20 토큰 잔액 읽기

eth_callbalanceOf(address) selector를 호출하세요. data 필드는 4바이트 selector(0x70a08231) 뒤에 32바이트로 좌측 패딩된 지갑 주소가 옵니다. 라이브러리를 사용해 인코딩하는 것이 가장 쉽습니다:
import { encodeFunctionData, parseAbi } from 'viem'

const data = encodeFunctionData({
  abi: parseAbi(['function balanceOf(address) view returns (uint256)']),
  args: ['0xWalletAddress'],
})

const response = await fetch('https://api.venice.ai/api/v1/crypto/rpc/base-mainnet', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    method: 'eth_call',
    params: [{ to: '0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf', data }, 'latest'],
    id: 1,
  }),
})
위 컨트랙트 주소는 Base의 VVV입니다. 어떤 ERC-20 컨트랙트로든 바꿔서 사용할 수 있습니다.

서명된 트랜잭션 전송(전체 생명주기)

Venice는 사용자의 private key를 절대 보관하지 않습니다. 에이전트는 RPC 읽기로 tx 파라미터를 모은 뒤, viem이나 ethers 같은 라이브러리로 로컬에서 서명하고, raw hex를 Venice를 통해 전달합니다.
1

다음 nonce 얻기

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0xAgentWallet","pending"],"id":1}'
연속 전송이 충돌하지 않도록 "pending"을 사용하세요.
2

가스 가격 얻기

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}'
EIP-1559 체인에서는 eth_feeHistory를 선호해 maxFeePerGasmaxPriorityFeePerGas를 계산하세요.
3

가스 추정

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{"from":"0xAgentWallet","to":"0xRecipient","value":"0x0","data":"0x..."}],"id":1}'
4

로컬에서 서명

import { privateKeyToAccount } from 'viem/accounts'
import { base } from 'viem/chains'

const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY)

const signed = await account.signTransaction({
  chainId: base.id,
  nonce,                  // 1단계에서
  gas,                    // 3단계에서
  maxFeePerGas,           // 2단계에서 (fee history)
  maxPriorityFeePerGas,   // 2단계에서 (fee history)
  to: '0xRecipient',
  value: 0n,
  data: '0x...',
})
5

Venice를 통해 제출

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Idempotency-Key: agent-tx-<id>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0xSignedHex"],"id":1}'
네트워크 일시 장애로 중복 브로드캐스트가 일어나지 않도록 릴레이에는 항상 Idempotency-Key를 설정하세요.
6

영수증 폴링

curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xTxHash"],"id":1}'
result가 null이 아닐 때까지 몇 초마다 폴링하세요. result.status("0x1" = 성공)를 확인하세요.
모든 eth_sendRawTransaction 호출은 tx 해시, 네트워크, 요청 ID, 호출 사용자 ID와 함께 서버 측에 로그됩니다. 서명된 페이로드 자체는 보관되지 않습니다. 이 감사 추적은 부정 릴레이에 사용된 침해된 키를 책임 있는 계정으로 추적할 수 있도록 존재합니다.

여러 호출 배치(멀티 체인 포트폴리오 확인)

한 요청에 최대 100개의 JSON-RPC 객체를 보낼 수 있습니다. 각 객체는 독립적으로 검증되고 과금됩니다.
curl https://api.venice.ai/api/v1/crypto/rpc/ethereum-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    { "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1 },
    { "jsonrpc": "2.0", "method": "eth_getBalance", "params": ["0xWallet", "latest"], "id": 2 },
    { "jsonrpc": "2.0", "method": "eth_gasPrice", "params": [], "id": 3 }
  ]'
멀티 체인 읽기(체인당 하나의 호출)는 다른 {network} endpoint로 병렬 요청을 보내세요.

멱등성을 활용한 안전한 재시도

Idempotency-Key 헤더에 [A-Za-z0-9_-]{1,255}에 매칭되는 임의 문자열을 설정하세요. Venice는 (user, key) 키로 응답을 24시간 캐시합니다. 재전송 시 캐시된 결과가 Idempotent-Replayed: true와 함께 반환되며 과금되지 않습니다.
curl https://api.venice.ai/api/v1/crypto/rpc/base-mainnet \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Idempotency-Key: agent-tx-2026-04-21-001" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_sendRawTransaction",
    "params": ["0xSignedRawTxHex"],
    "id": 1
  }'
이는 네트워크 일시 장애로 에이전트가 동일 tx를 두 번 브로드캐스트하는 일을 방지해야 하는 트랜잭션 릴레이에서 매우 중요합니다.

에이전트 API 키 자금 조달

에이전트가 Venice API 키를 갖게 되면, 유료 endpoint가 키를 수락하기 전에 기반 계정에 사용 가능한 잔액이 있어야 합니다. 잔액을 넣는 방법은 두 가지입니다:
PathAutonomous?How it works
VVV 스테이킹으로 얻는 DIEMBase 위 Venice Staking Smart Contract에 VVV를 스테이킹합니다. 지갑의 일일 DIEM 할당은 스테이킹 풀 점유율에 비례합니다. 계정에는 DIEM이 0.1 이상 누적되어야 사용 가능합니다. DIEM은 매일 00:00 UTC에 갱신됩니다. 일일 지출을 늘리려면 더 많은 VVV를 스테이킹하세요.
대시보드를 통한 USD 또는 암호화폐 충전아니오(브라우저 필요)같은 지갑으로 venice.ai에 로그인(Sign-In-With-Ethereum)한 뒤 Settings → API에서 크레딧을 추가하세요. Stripe(카드)와 Coinbase(암호화폐)가 그 페이지 뒤에서 동작하며 브라우저가 필요합니다. 크레딧은 만료되지 않습니다.
무인으로 동작하는 에이전트의 경우 VVV 스테이킹을 통한 DIEM이 현재 발급된 API 키에 대한 유일한 완전 헤드리스 자금 조달 경로입니다. 에이전트의 일일 지출이 DIEM 할당을 초과한다면 현실적인 옵션은 둘입니다: VVV를 더 스테이킹하거나, 운영자가 직접 로그인해 USD 또는 암호화폐로 충전하는 것입니다.

자율 VVV 스테이킹과 키 생성

진정으로 자율적인 에이전트는 Base에서 자체 VVV 지갑을 관리하고, 스테이킹하고, 사람의 개입 없이 자체 Venice API 키를 발급받을 수 있습니다. 전체 흐름:
1

VVV와 가스용 ETH 확보

에이전트의 지갑으로 VVV를 보내거나(Aerodrome 또는 Uniswap에서 스왑하게 하세요), 두 번의 스테이킹 트랜잭션을 위한 소량의 Base ETH도 확보합니다.
2

VVV 스테이킹

VVV 토큰에서 스테이킹 컨트랙트를 approve한 뒤 0x321b7ff75154472B18EDb199033fF4D116F340Ff에서 stake(amount)를 호출하세요. 지갑의 sVVV 잔액은 스테이킹과 원자적으로 업데이트됩니다.
3

API 키 발급

GET /api/v1/api_keys/generate_web3_key는 발급 15분 후에 만료되는 JWT를 반환합니다. 스테이킹 지갑으로 raw 토큰에 서명한 뒤 주소, 서명, 토큰을 다시 POST하세요. Venice는 해당 지갑에서 파생된 사용자 계정에 바인딩된 API 키를 반환합니다.
키 발급은 0이 아닌 sVVV 잔액만 필요하므로 1 VVV만 스테이킹해도 키를 받을 수 있습니다. 키로 지출하는 것은 별개의 문제이며 위 자금 조달 표를 따릅니다. 코드와 전체 에러 레퍼런스가 포함된 완전한 안내는 Autonomous Agent API Key Creation을 참고하세요.

30초만에 x402 지갑 인증

에이전트가 이미 Base나 Solana 지갑을 가지고 있다면 API 키 발급을 완전히 건너뛸 수 있습니다. venice-x402-client SDK가 Sign-In-With-X 서명, 충전, 잔액 추적을 처리합니다.
npm install venice-x402-client
import { VeniceClient } from 'venice-x402-client'

const venice = new VeniceClient(process.env.WALLET_KEY)

await venice.topUp(10) // 지갑에 이미 잔액이 있으면 생략

const response = await venice.chat({
  model: 'kimi-k2-6',
  messages: [{ role: 'user', content: 'What is the latest block on Base?' }]
})
동일한 지갑 인증이 /crypto/rpc/{network}의 블록체인 읽기 및 쓰기에도 동작합니다. 전체 프로토콜 세부 사항은 x402 가이드에 있습니다.

가격

Crypto RPC는 Venice 크레딧으로 과금됩니다. 모든 응답에는 X-Venice-RPC-Credits(과금된 크레딧)와 X-Venice-RPC-Cost-USD(달러 비용)가 포함되어 에이전트가 요청별 지출을 추적할 수 있습니다.

체인별 기본 크레딧

Base creditsChains
20Ethereum, Base, Optimism, Arbitrum, Polygon, Linea, Avalanche, BSC, Blast, Starknet
30zkSync Era

비용 예시

표준, 고급, 대용량 메서드 등급별 관찰 가격:
CallCreditsUSD cost
Ethereum의 eth_call (20 × 1x)20~$0.0000140
Ethereum의 trace_transaction (20 × 2x)40~$0.0000280
Ethereum의 trace_replayTransaction (20 × 4x)80~$0.0000560
zkSync의 eth_call (30 × 1x)30~$0.0000210
권위 있는 비용은 항상 X-Venice-RPC-Cost-USD 응답 헤더를 신뢰하세요. 배치 요청에서 오류가 발생한 항목은 각 항목당 5 크레딧 정액으로 과금됩니다.

Rate limit

TierRequests per minute
Standard100
Staff1,000
초과 시 endpoint는 표준 X-RateLimit-* 응답 헤더와 함께 429를 반환합니다.

에러 처리

에이전트가 처리해야 하는 일반적인 HTTP 응답들:
StatusMeaningWhat to do
400지원되지 않거나 매핑되지 않은 JSON-RPC 메서드, 또는 잘못된 배치메서드를 허용 목록에 대조해 확인하세요. 에러 본문에 문제 메서드명이 포함됩니다.
400다른 본문으로 같은 Idempotency-Key를 재전송별도의 요청에는 새 키를 사용하세요.
402인증 헤더가 전혀 없음(응답 본문의 authOptions에 두 인증 경로가 표시됨), 또는 유효한 인증 헤더로 크레딧 소진인증 없음: Authorization: Bearer ... 또는 x402 X-Sign-In-With-X 헤더를 첨부. 크레딧 소진: Bearer 키라면 계정을 충전(DIEM, USD, 대시보드 충전), x402 인증이라면 POST /api/v1/x402/top-up을 직접 호출.
429Rate limit 도달(표준 100 req/min, 스태프 1,000 req/min)X-RateLimit-Reset을 준수하고 백오프하세요. 요청당 최대 100건을 배치해 한도를 분산하세요.
5xx업스트림 RPC 노드 일시 장애중복 과금을 피하기 위해 같은 Idempotency-Key로 재시도하세요.
배치의 항목별 에러(예: N개 호출 중 하나의 잘못된 파라미터)는 200 OK 응답 안에 해당 항목의 JSON-RPC error 필드로 반환됩니다. 그런 항목은 각 5 크레딧 정액으로 과금됩니다.

지원하지 않는 항목

다음 범주의 메서드는 의도적으로 거부됩니다:
  • WebSocket 전용 (eth_subscribe, eth_unsubscribe): 프록시는 HTTP 전용입니다. 대신 폴링하세요.
  • 상태 기반 필터 (eth_newFilter, eth_getFilterChanges 등): 필터 상태가 단일 백엔드에 고정되어 로드 밸런스된 프록시에서 동작하지 않습니다. 대신 eth_getLogs를 사용하세요.
  • 키 보유 메서드 (eth_sign, eth_accounts, eth_mining): 호스팅 공급자는 사용자 키를 보관하지 않습니다. 클라이언트 측에서 서명하고 eth_sendRawTransaction으로 제출하세요.
  • 매핑되지 않은 메서드: 허용 목록에 없는 것은 400을 반환합니다. 추가를 요청하려면 지원팀에 문의하세요.

리소스

Crypto RPC API 레퍼런스

전체 메서드 목록, 가격, 응답 헤더

지원 네트워크

지원 네트워크 slug의 실시간 목록

x402 지갑 인증

Base 또는 Solana 지갑으로 인증하고 결제

자율 에이전트 API 키

VVV 스테이킹으로 자체 키 발급

Postman 컬렉션

바로 실행 가능한 27개의 Crypto RPC 예시

가격

DIEM, 크레딧 가격, 결제 옵션