Provision a core account with a referral code
Self-service signup for a new wallet. The caller first obtains a
server-issued nonce from /v1/onboarding/nonce, signs the
purpose-bound signup message (with the nonce embedded) with the
wallet, and submits the referral code bound into that message. The
platform service consumes the nonce (single use), allocates a durable
account id, consumes the referral code, and submits core
account_create with a scoped provisioner token.
Signup never trusts Platform’s durable allocation row as proof that
core still has the account. It attempts a core lookup first; if core
cannot confirm the account (for example after a reset), the request
reuses the same durable account_id and replays the idempotent
account_create. Existing referral attribution remains valid, so
recovery does not require deleting or duplicating a referral
redemption.
Fresh accounts start unfunded. Devnet/Mainnet balances come from the vault/deposit path; there is no server-side paper funding.
Body
Referral code to consume for signup.
"ALICE"
Base58 Solana wallet address being provisioned.
"GmQozSzrtMjXt5F1Bed8Vrt55zCbiga8vDZr47RX9wC8"
Purpose-bound signup message signed by the wallet. The referral code line must use the normalized code value, meaning trimmed and uppercased. The nonce line must carry a server-issued nonce from POST /v1/onboarding/nonce; each nonce is single-use.
"Sign up for Joyride\n\nWallet: GmQozSzrtMjXt5F1Bed8Vrt55zCbiga8vDZr47RX9wC8\nReferral code: ALICE\nNonce: 4Wz9pJb1rQx7cVd2mKf8sT3u"
Base58 Ed25519 signature over message.
"3Qf2Bz..."
Response
Account exists or was created for the wallet
True when the wallet has a core account after this request.
true
Core account id assigned to this wallet.
1000000
True when this request submitted core account_create, including repair after a core-side reset.
true