The Problem: Key Management in Crypto Deposits
Traditionally, when a cryptocurrency exchange issues a deposit address to a user, that address is tied to a private key. Someone—either the exchange or a third-party service—must generate, store, and secure this private key. When the user deposits funds, the exchange uses the private key to sweep those funds from the deposit address to a pooled hot wallet. This process involves inherent risks: private key compromise, loss, or mismanagement can lead to significant financial losses.
Developer Edy Cutjong set out to eliminate this single point of failure by creating a deposit address that requires no private key at all. The goal was to simplify the deposit process, reduce operational overhead for exchanges, and enhance security by removing the need to manage sensitive private keys.

Pigeonhole: A Keyless Deposit Solution
Cutjong's project, named Pigeonhole, leverages the unique properties of the Arc blockchain, where USD Coin (USDC) functions as the native balance. In this environment, transactions can be initiated and confirmed without direct private key interaction for the deposit address itself. The core innovation lies in how funds are moved out of the deposit address. Instead of relying on a swept private key, Pigeonhole is designed to utilize the blockchain's inherent mechanisms and potentially smart contract interactions to facilitate fund movement.
The system was built to be live at pigeonhole.edycu.dev, with a reviewer path available at /#/judge. The open-source repository, licensed under MIT, is available on GitHub at github.com/edycutjong/pigeonhole. A real-world demonstration of the deposit cycle on Arc mainnet can be viewed in a 2:30 video at youtu.be/BGuzotTXQEA.
The Unforeseen Obstacle: The 9,999-Block RPC Cap
Just as Cutjong was preparing to submit the project, a critical limitation of the Remote Procedure Call (RPC) interface on the Arc blockchain came to light. This limitation, a cap of 9,999 blocks for certain RPC calls, posed an existential threat to the Pigeonhole system. The issue arises because the system relies on monitoring the deposit address for incoming funds. If no activity or confirmation occurs within this block window, the system could effectively stall, leaving funds in a state of limbo—an "UNPAID" status.
Consider the deposit address as a mailbox. Normally, if you send a letter (USDC deposit), the recipient (exchange) will eventually pick it up. But in this scenario, if the recipient doesn't check their mailbox for 9,999 blocks (a significant amount of time on a blockchain), the letter might as well be lost. The system designed to automate fund retrieval from the deposit address would fail to act, and the funds would remain inaccessible until the cap was somehow overcome or bypassed. This is not a bug in the deposit address generation itself, but rather a limitation in how the monitoring and sweeping mechanism interacts with the blockchain's RPC layer over extended periods without interaction.
How the RPC Cap Affects Keyless Deposits
The 9,999-block RPC cap means that any transaction or state query that relies on fetching data beyond this block depth via standard RPC calls could fail or return outdated information. For a keyless deposit system like Pigeonhole, which aims for automation and security, this is a critical vulnerability. If a user makes a deposit and no subsequent action is taken by the system within 9,999 blocks (e.g., the system monitoring the deposit address goes offline, or the automated sweep function fails to trigger), the deposit could become effectively stuck. The funds would be on the blockchain, but the automated process designed to consolidate them would be unable to confirm their status or initiate a withdrawal due to the RPC limitation.
This scenario highlights a fundamental challenge in building decentralized financial systems: the reliability of underlying infrastructure. While the keyless deposit address itself is an elegant solution to a specific problem, its practical deployment is contingent on the robustness and capabilities of the blockchain's RPC services. The cap means that the system is not truly autonomous in all network conditions; it requires periodic
