This is a web service that functions as a open sponsor for Stacks transactions. This allows users to send transactions for free, without owning any STX tokens in their wallet.
POST to the /v1/sponsor
endpoint with the user signed transaction in the JSON body. The transaction must be created as a sponsored transaction. The service will sign the transaction as the sponsor and broadcast it.
The service will use multiple addresses from the same wallet at random to sponsor transactions. This allows the sponsor to handle more simultaneous pending transactions. You can set the number of addresses to use in the .env
file. Each address must be funded with STX.
/v1/info
will return the list of addresses used by the service for sponsoring transactions
NOTE: Rules are currently set so that only NFT transfer transaction will be sponsored. You can modify the rules for your own use if you are forking.
Clone the repo and install the dependencies.
npm install
Create an .env
file in the project root using the included .env.example
file as a guide.
Configure the .env
file with your wallet seed phrase.
Fund all addresses that you will be using with STX.
To start the server, run the following
npm run build
npm run start
To run in development mode
npm run dev
To run tests
npm run test