Using the Web3 API

Errors

Troubleshoot RPC error codes and validation rules enforced by 1RPC.

Request limit

There is a size limit for each RPC request (default 2 MB).

  • Error code: -32600
  • Error message: JSON RPC Request is too large

Example:

{"jsonrpc": "2.0", "error": {"code": -32600, "message": "JSON RPC Request is too large"}, "id": 1}

Response limit

There is a response size limit for each RPC request. Calls like eth_getLogs can be reduced by refining the request (for example, a smaller block range).

  • Error code: -32000
  • Error message: response size should not greater than 2097152 bytes

Example:

{"jsonrpc": "2.0", "error": {"code": -32000, "message": "response size should not greater than 2097152 bytes"}, "id": 1}

Usage quota

Rule ID: 001

Default daily usage quota per user: 10,000. Once the rate limit is reached, requests are blocked until 00:00 UTC the following day.

  • Error code: -32001
  • Error message: Exceeded the quota usage

Example:

{"jsonrpc": "2.0", "error": {"code": -32001, "message": "Exceeded the quota usage"}, "id": 1}

Address whitelist/blacklist

Rule ID: 002

Users can maintain address lists on the dashboard. For each eth_sendRawTransaction request, the relay decodes addresses that users interact with and validates them against the configured lists.

Supported methods:

  • approve

  • setApprovalForAll

  • transferFrom

  • safeTransferFrom

  • transfer

  • Error code: -32002

  • Error message: Blocked by 1RPC: invalid address. See https://rules.1rpc.io/002

Example:

{"jsonrpc": "2.0", "error": {"code": -32002, "message": "Blocked by 1RPC: invalid address. See https://rules.1rpc.io/002"}, "id": 1}

Uniswap recipient validation

Rule ID: 003

Ensures that the recipient of a Uniswap transaction matches the sender. Mismatches are blocked.

Supported networks and contracts:

  • Ethereum Mainnet:
    • V3 Router: 0xE592427A0AEce92De3Edee1F18E0157C05861564
    • V3 Router2: 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
    • V2 Router: 0xf164fC0Ec4E93095b804a4795bBe1e041497b92a
    • V2 Router2: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
  • Polygon Mainnet:
    • V3 Router: 0xE592427A0AEce92De3Edee1F18E0157C05861564
    • V3 Router2: 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
  • Optimism:
    • V3 Router: 0xE592427A0AEce92De3Edee1F18E0157C05861564
    • V3 Router2: 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
  • Arbitrum One:
    • V3 Router: 0xE592427A0AEce92De3Edee1F18E0157C05861564
    • V3 Router2: 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
  • Celo Mainnet:
    • V3 Router2: 0x5615CDAb10dc425a742d643d949a7F474C01abc4

Supported methods:

  • V3 Router:

    • exactInput
    • exactInputSingle
    • exactOutput
    • exactOutputSingle
  • V3 Router2:

    • exactInput
    • exactInputSingle
    • exactOutput
    • exactOutputSingle
    • swapExactTokensForTokens
    • swapTokensForExactTokens
  • V2 Router:

    • swapExactTokensForTokens
    • swapTokensForExactTokens
    • addLiquidity
    • addLiquidityETH
    • removeLiquidity
    • removeLiquidityETH
    • removeLiquidityWithPermit
    • removeLiquidityETHWithPermit
    • swapETHForExactTokens
    • swapExactETHForTokens
    • swapTokensForExactETH
    • swapExactTokensForETH
  • V2 Router2:

    • swapExactTokensForTokens
    • swapTokensForExactTokens
    • addLiquidity
    • addLiquidityETH
    • removeLiquidity
    • removeLiquidityETH
    • removeLiquidityWithPermit
    • removeLiquidityETHWithPermit
    • swapETHForExactTokens
    • swapExactETHForTokens
    • swapTokensForExactETH
    • swapExactTokensForETH
    • removeLiquidityETHSupportingFeeOnTransferTokens
    • removeLiquidityETHWithPermitSupportingFeeOnTransferTokens
    • swapExactETHForTokensSupportingFeeOnTransferTokens
    • swapExactTokensForETHSupportingFeeOnTransferTokens
    • swapExactTokensForTokensSupportingFeeOnTransferTokens
  • Error code: -32003

  • Error message: Blocked by 1RPC: recipient is suspicious. See https://rules.1rpc.io/003

Example:

{"jsonrpc": "2.0", "error": {"code": -32003, "message": "Blocked by 1RPC: recipient is suspicious. See https://rules.1rpc.io/003"}, "id": 1}

GoPlus address scanning

Rule ID: 051

Ensures addresses users interact with are verified against the GoPlus Malicious Address API. By using this rule, users agree to GoPlus' Terms of Use.

Supported methods:

  • approve
  • setApprovalForAll
  • transferFrom
  • safeTransferFrom
  • transfer

Supported networks: Ethereum Mainnet, BNB Smart Chain, Polygon Mainnet, Fantom Opera, Arbitrum One, Avalanche.

  • Error code: -32051
  • Error message: Blocked by 1RPC: malicious address. See https://rules.1rpc.io/051

Example:

{"jsonrpc": "2.0", "error": {"code": -32051, "message": "Blocked by 1RPC: malicious address. See https://rules.1rpc.io/051"}, "id": 1}

HashDit address scanning

Rule ID: 052

Ensures the trust score based on risk levels provided by HashDit Trust Score meets the configured threshold. By using this rule, users agree to HashDit's Terms of Use.

Supported methods:

  • approve
  • setApprovalForAll
  • transferFrom
  • safeTransferFrom
  • transfer

Supported networks

  • BNB Smart Chain
  • Error code: -32052
  • Error message: Blocked by 1RPC: insufficient trust score.

Example:

{"jsonrpc": "2.0", "error": {"code": -32052, "message": "Blocked by 1RPC: insufficient trust score. See https://rules.1rpc.io/052"}, "id": 1}

Explorer contract verification

Rule ID: 053

Ensures that the target contract address users interact with is verified on the chain's official explorer.

Supported networks and terms of use:

Example:

{"jsonrpc": "2.0", "error": {"code": -32053, "message": "Blocked by 1RPC: unverified contract. See https://rules.1rpc.io/053"}, "id": 1}