<p>I have a few questions, which I think might interest a lot of folks here.
Me and my team we are developing an app on Cardano and we want to avoid using PAB or Blockfrost for our infrastructure. We are thinking about creating our own custom APIs using Express/Node, and we will do all the transaction construction/balancing on the client-side using serialization library.
My questions are:</p>
<ol>
<li><p>How do we should design our APIs (i.e for a liquidity pool smart contract or a voting smart contract)?</p>
</li>
<li><p>What is the actual coding process? Do we code endpoints via express, and we code the same endpoints inside our Plutus script?</p>
</li>
<li><p>Do we need to do something for the Plutus script &amp; our custom API endpoints to be able to talk with each other?</p>
</li>
</ol>
<p>Thank you in advance for your help.</p>

CC BY-SA 4.0
2022-04-27T18:44:31.800Z
Have you already written and tested your smart contracts with the PAB? I think, this would be a starting point do understand what you need. For quick development, the PAB is great. Only actual deployment is a pain.
Jey
CC BY-SA 4.0
2022-04-28T07:37:48.240Z
Hey thanks for this. Is PAB really good for fast development? I mean I need to run so many things on my machine to make it work which are resource heavy.
Tasos Valtinos
CC BY-SA 4.0
2022-04-28T09:57:29.617Z
What things do you mean ? For testing with EmulatorTrace you don't need chain index and a Cardano node for example. It is very convenient for defining your scenarios, seeing what happens when you execute them, and debugging. For real tests on the public testnet you would need chain index and Cardano node, though. This is when the problems start : ).
Jey
CC BY-SA 4.0
2022-04-28T13:29:41.003Z
Yeah exactly. Im referring for end-to-end production ready solutions.
Tasos Valtinos
CC BY-SA 4.0
2022-04-28T13:50:26.140Z
Using the PAB for development and testing does not mean you can't use another solution for end-to-end production. Developing inside the PAB will help you find out which API endpoints you need and how the user should interact with your Plutus scripts. These scripts are independent of the PAB anyway. You will also realise that you cannot do everything client-side and that you need some component that can query the blockchain.
Jey
CC BY-SA 4.0
2022-04-29T07:53:14.703Z
Yeah ofcourse. But as you said, when u want to do real things/tests on the testnet/mainet, is when the problems start. With that being said, I want to avoid PAB. Do you know how to achieve what I am asking? Super thanks!
Tasos Valtinos
<plutus><cardano-cli><api>
How to link custom API endpoints with Plutus script? (Without Blockfrost or PAB)
# How to link custom API endpoints with Plutus script? (Without Blockfrost or PAB)

(Asked by: username_0 on 2022-04-27)

I have a few questions, which I think might interest a lot of folks here.
Me and my team we are developing an app on Cardano and we want to avoid using PAB or Blockfrost for our infrastructure. We are thinking about creating our own custom APIs using Express/Node, and we will do all the transaction construction/balancing on the client-side using serialization library.
My questions are:

1. How do we should design our APIs (i.e for a liquidity pool smart contract or a voting smart contract)?
2. What is the actual coding process? Do we code endpoints via express, and we code the same endpoints inside our Plutus script?
3. Do we need to do something for the Plutus script & our custom API endpoints to be able to talk with each other?

Thank you in advance for your help.

**Tags:** plutus, cardano-cli, api
> **Comments:**
> **username_1**: Have you already written and tested your smart contracts with the PAB? I think, this would be a starting point do understand what you need. For quick development, the PAB is great. Only actual deployment is a pain.  
> **username_0**: Hey thanks for this. Is PAB really good for fast development? I mean I need to run so many things on my machine to make it work which are resource heavy.  
> **username_1**: What things do you mean ? For testing with EmulatorTrace you don't need chain index and a Cardano node for example. It is very convenient for defining your scenarios, seeing what happens when you execute them, and debugging. For real tests on the public testnet you would need chain index and Cardano node, though. This is when the problems start : ).  
> **username_0**: Yeah exactly. Im referring for end-to-end production ready solutions.  
> **username_1**: Using the PAB for development and testing does not mean you can't use another solution for end-to-end production. Developing inside the PAB will help you find out which API endpoints you need and how the user should interact with your Plutus scripts. These scripts are independent of the PAB anyway. You will also realise that you cannot do everything client-side and that you need some component that can query the blockchain.  
> **username_0**: Yeah ofcourse. But as you said, when u want to do real things/tests on the testnet/mainet, is when the problems start. With that being said, I want to avoid PAB. Do you know how to achieve what I am asking? Super thanks!  

---

## 0 answers

