Remote Signing
Learn how Polyscout executes trades using user-hosted signing services so private keys never leave your infrastructure.
Why Remote Signing
Polyscout is designed to run automation and execution logic without taking custody of private keys. Remote signing allows your platform to retain full control over user wallets while still letting Polyscout place and manage trades on Polymarket.
With remote signing, Polyscout builds the exact payload required to place or manage a trade and sends it to a signer service that you control. Your signer validates the request, signs it using the appropriate wallet, and returns the signature. Polyscout then submits the signed payload to Polymarket.
At no point does Polyscout store or have access to private keys.
Remote Signer Wallets
When using remote signing, wallets are registered in Polyscout with signer_type=remote_http. These wallets reference a signing service hosted by the integrating platform.
Each remote signer wallet is associated with:
An owner address (EOA)
A signer service URL
A shared secret used for request authentication
Wallets can be created as remote-signed at creation time or converted later by attaching a remote signer to an existing wallet.
Signer Authentication
All requests from Polyscout to your signer service are authenticated using HMAC-SHA256 with a shared secret.
Each signing request includes the following headers:
x-polyscout-request-idx-polyscout-timestampx-polyscout-signature
The signature is computed as:
Your signer must recompute this value and reject the request if the signature does not match or if the timestamp is outside an acceptable clock skew window.
This ensures that only Polyscout can request signatures and that requests cannot be replayed or tampered with.
Signer HTTP Contract
A remote signer service must expose the following endpoints:
GET /healthUsed by Polyscout to verify liveness. Must return HTTP 200.POST /v1/sign-messageUsed to sign plain messages and nonce challenges.POST /v1/sign-typed-dataUsed to sign EIP-712 typed data for Polymarket transactions.
All requests include authentication headers and the same fields in the JSON body for verification.
Responses must return a JSON object containing the signature:
Signer Verification
When a remote signer is configured, Polyscout verifies ownership by issuing a nonce challenge. The signer must sign the challenge and return the signature. Polyscout recovers the address and confirms it matches the expected owner address before allowing the wallet to be used for execution.
Until verification succeeds, the wallet cannot place trades.
Execution Flow with Remote Signing
When a strategy triggers or a place-bet condition is met, Polyscout follows the same execution loop:
Build the Polymarket CLOB order payload.
Send the payload to the configured remote signer.
Validate the returned signature.
Submit the signed order to Polymarket.
Track fills, exits, and settlement.
The same process is used for entry orders, take profit exits, stop losses, and claims.
Your system is only responsible for approving and signing requests. All market monitoring, decision logic, and order lifecycle management are handled by Polyscout.
Security Considerations
Remote signer URLs must be publicly reachable over HTTPS. By default, private network and insecure URLs are rejected unless explicitly enabled for local development.
The shared secret should be treated as sensitive and stored securely. If the secret is compromised, the signer should be rotated immediately by updating the wallet configuration.
Last updated