Skip to main content
Submit a stakeholder’s newly collected wallet for a target (e.g. pre-sale) token. The request carries a signed message proving wallet ownership; on success Magna creates the allocation on the target token using that token’s pre-sale configuration. Route: POST /api/external/v1/allocations/collect-new-wallet

Headers

HeaderRequiredDescription
Content-TypeYesMust be application/json
x-magna-api-tokenYesYour Magna API token

Body parameters

FieldTypeRequiredDescription
tokenIdstring (uuid)YesThe source token the allocation currently belongs to
walletAddressstringYesThe wallet address that signed the message
messagestringYesThe signed message (SIWE-style; the statement section is base64-encoded JSON)
signaturestringYesSignature of message produced by walletAddress
The encoded statement decodes to: distributionId, oldWallet, newWallet, targetTokenId.

Request example

curl -X POST https://app.magna.so/api/external/v1/allocations/collect-new-wallet \
-H 'Content-Type: application/json' \
-H 'x-magna-api-token: YOUR_API_KEY' \
-d '{
  "tokenId": "b3f1c0d2-1111-2222-3333-444455556666",
  "walletAddress": "0xAbC...123",
  "message": "<siwe-message>",
  "signature": "0x<signature>"
}'

Response example

{
  "processed": true
}
If the message can’t be verified or the wallet/token don’t match the allocation, the request is not processed and returns { "isProcessed": false }.