Project Description
I want a small, production-ready service that can receive USDT (ERC-20) deposits, expose the relevant events through a REST endpoint, and—after JSON Schema validation and API-key authentication—forward cleared funds from my wallet straight into a bank account.
The flow should look like this: an external system calls the endpoint with the deposit details; the service verifies the signature, checks the payload against the schema, watches the blockchain until the transaction has the required confirmations, then triggers an automatic transfer to the chosen account. Both domestic (ACH, SEPA, etc.) and international (SWIFT) payouts must be handled seamlessly by the same codebase.
Key points to cover
• ERC-20 listener that works on the Ethereum mainnet and testnets.
• Stateless REST interface with API-key headers; keys must be easily rotated.
• Strict JSON Schema enforcement for every request and response.
• Wallet-side security anchored in the blockchain plus the API-key layer on the server.
• Integration with a reliable ETH payment gateway—or your own smart-contract logic—so money can move from the on-chain wallet to the off-chain bank without manual intervention.
Deliverables
1. Source code (prefer Node.js or Python, but open to other well-supported stacks).
2. Postman or Curl examples that cover the full deposit-to-bank cycle.
3. A short deployment guide for Ubuntu-based servers.
4. Unit tests illustrating schema validation, authentication, and transfer triggers.
I will consider the job complete once I can spin up the service on a fresh VPS, fund the designated wallet with test USDT, call the endpoint, and watch the funds arrive in a sandbox bank account—domestic and international—without errors.