> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Crypto RPC

> اكتشف شبكات البلوكشين المدعومة وأرسل طلبات JSON-RPC عبر Venice باستخدام مفتاح API أو مصادقة المحفظة x402.

Venice Crypto RPC هو وكيل HTTP لقراءة حالة البلوكشين وترحيل المعاملات الموقّعة. يستخدم نفس مفتاح Venice API أو مصادقة محفظة x402 المستخدمة في نقاط نهاية Venice المدفوعة الأخرى، لذلك لا يحتاج تطبيقك إلى حساب منفصل مع مزود RPC.

Venice لا يحتفظ أبدًا بمفاتيحك الخاصة. وقّع المعاملات في تطبيقك وأرسل الحمولة الموقّعة عبر `eth_sendRawTransaction`.

## اكتشاف الشبكات المدعومة

احصل على القائمة الحالية لمعرّفات الشبكات:

```bash theme={"system"}
curl https://api.venice.ai/api/v1/crypto/rpc/networks
```

نقطة نهاية الاكتشاف عامة ولا تتطلب أي مصادقة. استجابتها هي المرجع الموثوق؛ استخدم أحد المعرّفات المُعادة كـ `{network}` في نقطة نهاية RPC.

## إرسال طلب RPC

أرسل طلب JSON-RPC 2.0 إلى الشبكة المختارة:

```bash theme={"system"}
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
  }'
```

يدعم الوكيل الطلبات الفردية والدُفعات حتى 100 طلب. تختلف الطرق المدعومة، وفئات التسعير، والتوفر؛ راجع [مرجع Crypto RPC API](/api-reference/endpoint/crypto/rpc) قبل الاعتماد على أي طريقة.

## سير عمل القراءة والكتابة

### قراءة حالة السلسلة

استخدم طرقًا مثل `eth_blockNumber` و`eth_getBalance` و`eth_call` و`eth_getLogs` للاستعلام عن بيانات السلسلة العامة. اجمع الاستدعاءات ذات الصلة في دفعة عندما تستهدف الشبكة ذاتها.

### ترحيل المعاملة

<Steps>
  <Step title="بناء المعاملة">
    اقرأ nonce الحساب، وبيانات الرسوم، وتقدير الغاز من الشبكة المستهدفة.
  </Step>

  <Step title="التوقيع محليًا">
    وقّع باستخدام مكتبة المحفظة الخاصة بتطبيقك. لا ترسل أبدًا مفتاحًا خاصًا أو عبارة استرداد إلى Venice.
  </Step>

  <Step title="إرسال الحمولة الموقّعة">
    استدعِ `eth_sendRawTransaction` وعيّن ترويسة `Idempotency-Key` حتى لا تؤدي إعادة المحاولات إلى ترحيل ثانٍ قابل للفوترة.
  </Step>

  <Step title="التحقق من الإيصال">
    استعلم عن `eth_getTransactionReceipt` بشكل دوري حتى يتم تضمين المعاملة، ثم افحص حالتها.
  </Step>
</Steps>

## إعادة المحاولات الآمنة

عيّن مفتاح idempotency على الطلبات التي قد يُعاد إرسالها، خاصةً عمليات ترحيل المعاملات:

```bash theme={"system"}
-H "Idempotency-Key: transaction-123"
```

يخزن Venice الاستجابة مؤقتًا لمدة 24 ساعة. إعادة استخدام المفتاح مع نفس نص الطلب يُعيد الاستجابة المخزّنة دون رسوم إضافية؛ بينما إعادة استخدامه مع نص مختلف تُعيد خطأ.

## قيود مهمة

* الوكيل يعمل عبر HTTP فقط ولا يدعم اشتراكات WebSocket.
* طرق الفلترة ذات الحالة غير مدعومة؛ استخدم طرقًا عديمة الحالة مثل `eth_getLogs`.
* Venice لا يحتفظ بالمفاتيح ولا يُتيح طرق التوقيع.
* الطرق خارج قائمة السماح تُعيد خطأ.
* افحص `X-Venice-RPC-Credits` و`X-Venice-RPC-Cost-USD` لتتبّع تكلفة الطلب.

## موارد ذات صلة

* [Supported Networks API](/api-reference/endpoint/crypto/networks)
* [Crypto RPC API Reference](/api-reference/endpoint/crypto/rpc)
* [Crypto RPC for Agents](/guides/integrations/crypto-rpc-agents)
* [x402 Wallet Authentication](/guides/integrations/x402-venice-api)
