Skip to content

Bundler

The Bundler makes first time sign up easier by allowing a user to register an fid, add a key and rent storage in one transaction.

If you want to create a new Farcaster account in a single transaction, use the Bundler.

Read

price

Get the price in wei to register an fid, including 1 storage unit. To add additional storage units to the calculation, use the extraStorage parameter.

ParametertypeDescription
extraStorageuint256Number of extra units to include in the price

Write

register

Register an fid, add one or more keys, and rent storage in a single step. For a detailed usage example, see the signup demo app.

ParametertypeDescription
msg.valueweiPayment amount for registration
registerParamsRegistrationParamsRegistration related parameters and signature
signerParamsSignerParams[]Key related parameters and signature
extraStorageuint256Additional storage units to rent

RegistrationParams struct

The RegistrationParams struct includes registration parameters and an IdGateway Register signature from the fid recipient.

ParametertypeDescription
toaddressAddress to register the fid to
recoveryaddressRecovery address for the new fid
deadlineuint256Signature expiration timestamp signature
sigbytesEIP-712 Register signature from the to address

SignerParams struct

The SignerParams struct includes signer key parameters and a KeyGateway Add signature from the fid recipient. Callers may provide multiple SignerParams structs to add multiple keys at registration time.

ParametertypeDescription
keyTypeuint32Must be set to 1. This is currently the only supported keyType.
keybytesPublic key to add
metadataTypeuint8Must be set to 1. This is currenlty the only supported metadataType.
metadatabytesEncoded SignedKeyRequestMetadata
deadlineuint256Signature expiration timetamp
sigbytesEIP-712 Add signature from registrationParams.to address

Errors

ErrorSelectorDescription
InvalidPayment3c6b4b28The caller provided insufficient payment.
InvalidMetadatabcecb64aThe signed metadata provided with the key is invalid.
InvalidSignature8baa579fThe provided signature is invalid. It may be incorrectly formatted, or signed by the wrong address.
SignatureExpired0819bdcdThe provided signature has expired. Collect a new signature from the signer with a later deadline timestamp.

Source

Bundler.sol