Specifications

Request limit

There is a size limit for each RPC request.

Default limit: 2 Megabytes (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 limit for each RPC request. Trying to call the eth_getLogs method may increase the content size, which can be brought down by refining the request, such as reducing the block range.

Default limit: 2 Megabytes (MB)

  • Error code: -32000

  • Error message: Response size should not be 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

Rule Details: There is a default daily usage quota for each user. Once the rate limit is reached, all further requests will not be relayed until the following day (00:00 UTC).

Default quota: 10,000

  • 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

Rule Details: Users can create, edit and maintain one or many lists of addresses on the dashboard. For each eth_sendRawTransaction request, the relay decodes addresses that users interact with, before validating them based on the user's applied settings.

Support methods

  • approve

  • setApprovalForAll

  • transferFrom

  • safeTransferFrom

  • transfer

  • Error code: -32002

  • Error message: Blocked by 1RPC: invalid address.

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

Rule Details: Ensures that the recipient of a Uniswap transaction is the same as its sender. When there's a discrepancy, the relay will block the transaction.

Supported networks & 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.

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

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

Support 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

Rule Details: Ensures that the trust score based on risk levels provided by HashDit Trust Score satisfies the threshold specified by the user. By using this rule, users agree to HashDit's Terms of Use.

Support 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

Rule Details: Ensures that the target contract address user interacts 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}

Last updated