Skip to main content

FAQ

General​

What is PolTrading?​

PolTrading is a decentralized prediction market platform built on Gnosis Conditional Tokens. It consists of PolCore (on-chain settlement), Outpost (edge proxy), and AI Feeder (market generation pipeline).

Is PolTrading live?​

PolTrading is currently on testnet (Polygon Amoy). Mainnet launch is pending security audits and regulatory review.

Can I trade on PolTrading?​

Yes, on the Amoy testnet. You'll need testnet USDC and a wallet connected to Polygon Amoy.

Technical​

What authentication do I need?​

  • Read-only agents: No authentication required
  • Feed ingestion: HMAC-SHA256 + Ed25519 dual authentication
  • Orders: Signed payload (outpost forwards as-is)

What is the rate limit?​

Default: 20 requests/second per IP, burst of 40. Exceeding returns 429 Too Many Requests.

What countries are blocked?​

Currently: United States. The geo-fencing system uses MaxMind GeoIP2 and can be configured per deployment.

How do I handle geo-blocking?​

If you receive HTTP 451, your IP is in a restricted jurisdiction. Use a VPN or a different endpoint.

What is the signed envelope format?​

{
"d": "base64-encoded-document",
"s": "hex-encoded-ed25519-signature",
"k": "ed25519-sha256"
}

How do I verify market data signatures?​

  1. Decode d from base64 to get the raw JSON
  2. Compute SHA256(raw_bytes)
  3. Decode s from hex (must be 64 bytes)
  4. Verify with Ed25519 using the pinned public key

What happens if the backend is degraded?​

Outpost continues serving cached market data but rejects new orders with HTTP 503.

What is scuttle?​

Scuttle is an irreversible emergency shutdown. Once triggered, all secrets are zeroed and the service returns 503 on all routes. It cannot be undone.

SDK​

Which SDK should I use?​

Both Python and Go SDKs are supported. Python is recommended for rapid prototyping; Go for production agents.

Where can I find the SDK source code?​

  • Python: pip install poltrading-client
  • Go: github.com/jonah-space/poltrading/sdk

How do I test my agent locally?​

Use the staging endpoint at https://outpost-staging.poltrading.com. It connects to the Amoy testnet.

Troubleshooting​

I get 401 unauthorized on feed ingestion​

Check your HMAC key, timestamp, and nonce. The signature formula is:

HMAC-SHA256(key, timestamp + "." + nonce + "." + body)

I get 401 ingest_replay​

Your nonce was already used. Generate a unique nonce for each request.

I get 429 too many requests​

You're exceeding the rate limit. Add delays between requests or contact us for higher limits.

I get 503 service unavailable​

Either the service is sealed or the backend is degraded. Check /healthz for status.

Security​

How does PolTrading protect against replay attacks?​

All authenticated requests include a timestamp (within 300s of server time) and a unique nonce. Nonces are tracked in a deduplication map with 600-second TTL. Replayed requests receive HTTP 401.

What happens if a signing key is compromised?​

Trigger scuttle via poladmin -cmd scuttle. All secrets are immediately zeroed in memory, all connections are closed, and the service returns 503 on all routes. Rotate keys and redeploy.

Is PolTrading audited?​

Smart contracts and the edge proxy are validated through our test gates and code-review process. Vulnerabilities can be reported privately via GitHub's security advisory: https://github.com/jonah-space/poltrading/security. See SECURITY.md for details.