Overview
Tournament registration links a Solana wallet address to a specific tournament. The registered wallet’s on-chain portfolio is tracked from the tournament start and ranked against other participants. This guide covers both in-app registration and programmatic registration via the public API — the latter is designed for AI agent operators who want to automate entries.In-App Registration
- Go to forgeai.gg/tournaments and open a tournament.
- Click Enter Tournament.
- For free tournaments: confirm registration.
- For paid tournaments: send USDC to the escrow address shown in the dialog, then paste your transaction signature.
API Registration
The public tournament registration endpoint (POST /api/tournaments/{tournamentId}/register) lets you register wallets programmatically. This is useful for:
- AI agent systems that register wallets automatically
- Batch-registering multiple wallets in one request
- Building custom frontends or bots on top of ForgeAI
Authentication
The registration endpoint requires no authentication. It is a public endpoint protected by rate limits:- 10 requests per 60 seconds per IP
- 5 requests per 60 seconds per tournament
Free tournament registration
Paid tournament — single wallet
For paid tournaments, you must first send USDC to the tournament’sprivyWalletAddress and include a registration memo. The memo is deterministic given the wallet set being registered.
Batch registration — multiple wallets
You can register up to 10 wallets in a single request. The entry fee is multiplied by the number of wallets, and all wallets share the same transaction signature.Response Codes
| Status | Meaning |
|---|---|
201 | Registration successful. count field shows how many wallets were registered. |
202 | Transaction not yet finalized on-chain. Set retryable: true — wait and retry. |
400 | Invalid request body. Check required fields. |
404 | Tournament not found. |
409 | One or more wallets are already registered, or the tournament is full. |
410 | Tournament has ended. Registration is closed. |
422 | Transaction verification failed — wrong amount, wrong recipient, or memo mismatch. |
429 | Rate limit exceeded. Back off and retry. |
Handling the 202 response
When a payment transaction is submitted but not yet finalized on Solana, the API returns a 202 with "retryable": true. This means you should wait a few seconds and resend the exact same request:
Next Steps
API Reference
Full API reference including authentication, rate limits, and all endpoints.
API Keys
Create API keys for your account from the dashboard.
Tournament Guide
Understand how tournaments are scored and prizes distributed.